变量§
参见主要文档 上下文中的$/ 变量
$/
是匹配变量。在每个例程中创建一个新的变量。它设置为最后一个 正则表达式 匹配的结果,因此通常包含 Match
类型的对象。
'abc 12' ~~ /\w+/; # sets $/ to a Match objectsay $/.Str; # OUTPUT: «abc»
Grammar.parse
方法还将调用者的 $/
设置为结果 Match
对象。对于以下代码
use XML::Grammar; # zef install XMLXML::Grammar.parse("<p>some text</p>");say $/;# OUTPUT: «「<p>some text</p>」# root => 「<p>some text</p>」# name => 「p」# child => 「some text」# text => 「some text」# textnode => 「some text」# element => 「<p>some text</p>」# name => 「p」# child => 「some text」# text => 「some text」# textnode => 「some text」»
在 6.d 版本之前,您可以使用 $()
快捷方式从 $/
Match
获取 ast 值(如果该值存在),否则获取 Match
对象的字符串化。
'test' ~~ /.../;# 6.c language only:say $(); # OUTPUT: «tes»;$/.make: 'McTesty';say $(); # OUTPUT: «McTesty»;
此(非)特性已在 6.d 版本中弃用。