平衡括号

作者:Filip Sergot

生成一个包含 N 个左括号(“[”)和 N 个右括号(“]”)的字符串,顺序任意。

确定生成的字符串是否平衡;也就是说,它是否完全由成对的左/右括号组成(按此顺序),并且没有任何括号嵌套错误。

更多

http://rosettacode.org/wiki/Balanced_brackets#Raku

这里有什么有趣的地方?

  • 惯用解决方案

  • 超级运算符

  • switch 语句

  • roll

  • 语法

使用的功能

深度计数器

面向 FP

字符串处理

使用语法解析

源代码:balanced-brackets.pl

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";

}