正規表現、トークンまたはルールを使用すると、そういう変数を定義することができます。
token directive {
:my $foo = "in command";
<command> <subject> <value>?
}
S05 - Regexes and Rulesにおける言語のドキュメントhereで、それについては何も、非常に少ないがquoteに、ありません。
文法正規表現は本当に単なる一種のメソッドです。このようなルーチンでは、コロンとそれに続くmy、our、state、およびconstantを含むPerl 6文法で解析されたスコープ宣言子を使用して変数を宣言できます。 (アップ終端セミコロンまたはライン最終の閉じ中括弧を介して)、単一の文が正常Perl 6のコードとして解析される(準宣言子、TEMPおよびletも認識されるように。):
token prove-nondeterministic-parsing {
:my $threshold = rand;
'maybe' \s+ <it($threshold)>
}
Iが内regexenこと得ます文法はクラスのメソッドと非常によく似ています。ルールのどこにでもブロックを開始することができます。そして、解析が成功すればブロックが実行されますが、私はこのことが何であるかを理解していません。
スコープの定義を明確にすることはできますか。それが必要とするものを説明し、典型的なユースケースを教えてください。