#!/usr/bin/env perl6
my @nums;
grammar InfixNotation {
rule TOP {
^ <expr> $
}
token expr {
<left>+ % <op>
}
token left {
'(' <expr> ')' | <@nums>
}
token op {
< + - * / >
}
}
my $str;
while True {
@nums = (1 .. 9).roll(4)>>.Str;
say "Generate 4 digit : " ~ @nums;
print "Now enter your expression:";
$str = ~$*IN.get;
if InfixNotation.parse($str) {
my $value = $/.EVAL;
say "$str = $value";
say $value == 24 ?? "Good job!" !! "Don't lose heart. Come on!";
} else {
say "Expression check failed.";
}
say "Try again Y/N?";
$str = $*IN.get;
if $str.lc !~~ "y" {
last;
}
}
用户登录
还没有账号?立即注册
用户注册
投稿取消
| 文章分类: |
|
还能输入300字
上传中....
蜗牛的倔强