blob: 2eea93f67f40f3e34501ec166c2e8d1dfd4f7620 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
#! /usr/bin/env raku
use lib 'lib';
use Cache::LRU;
unit sub MAIN (Int $limit = 3, :$verbose);
say ": Cache size: $limit" if $verbose;
my $lru = Cache::LRU.new(:$limit, :$verbose);
loop
{
given prompt "Command (h for help): "
{
when /^c[apacity]?$/ { say $lru.get-limit; }
when /^c[apacity]? \s+ [\= \s+]? (\d+) $/ { $lru.set-limit($0.Int); }
when /^s[et]?\((\d+) \, \s* (\d+) \) $/ { $lru.set($0.Int, $1.Int); }
when /^s[et]? \s+ (\d+) \, \s* (\d+) $/ { $lru.set($0.Int, $1.Int); }
when /^g[et]?\((\d+) \)$/ { say $lru.get($0.Int); }
when /^g[et]? \s+ (\d+)$/ { say $lru.get($0.Int); }
when 'd'|'dump' { $lru.dump if $lru.head; }
when 'data' { $lru.dump2 if $lru.head; }
when 'h'|'help' { help; }
when 'quit'|'q' { exit; }
default { say "- Illegal command. Use 'h' for help"; }
}
}
sub help
{
;
}
|