平衡括号
作者:Filip Sergot
生成一个包含 N 个左括号(“[”)和 N 个右括号(“]”)的字符串,顺序任意。
确定生成的字符串是否平衡;也就是说,它是否完全由成对的左/右括号组成(按此顺序),并且没有任何括号嵌套错误。
更多
http://rosettacode.org/wiki/Balanced_brackets#Raku
这里有什么有趣的地方?
惯用解决方案
超级运算符
switch 语句
roll
语法
使用的功能
given
- https://doc.perl6.org/syntax/given#language_documentation_Control_Flowprompt
- https://doc.perl6.org/routine/promptgrammar
- https://doc.perl6.org/language/grammars
深度计数器
面向 FP
字符串处理
使用语法解析
use v6; { grammar BalBrack { token TOP { ^ <balanced>* $ }; token balanced { '[]' | '[' ~ ']' <balanced> } } my $s = <[ ]>.roll($n*2).join; say "Parsing brackets with a grammer"; say "$s { BalBrack.parse($s) ?? "is" !! "is not" } well-balanced"; }