文档说只有 3 个特殊的词法变量 ( ,$_
, $/
) $!
。
然而,检查 MY::pseudostash,似乎一个名为 的变量$¢
也存在,并且没有记录(或者至少,在 docs.raku 中搜索 $¢ 没有结果)(编辑:根据接受的答案,这实际上是错误的,确实有记录)。
say MY::.hash;
# ==> PseudoStash.new((!UNIT_MARKER => (!UNIT_MARKER), $! => Nil, $/ => Nil, $=finish => (Mu), $=pod => [], $?PACKAGE => (GLOBAL), $_ => (Any), $¢ => Nil, &foo => &foo, ::?PACKAGE => (GLOBAL), EXPORT => (EXPORT), GLOBALish => (GLOBAL)))
sub foo {say MY::.hash}
foo();
# ==> PseudoStash.new(($! => Nil, $/ => Nil, $_ => (Any), $¢ => Nil))
$¢=5;
# The compiler doesn't complain, despite $¢ not having been declared
say $¢
# ==> 5
$¢
有什么特殊的意义吗?
如果重要的话,我正在使用 rakudo v2023.12,实现 v6.d。
https://docs.raku.org/type/Match
另请参阅:正则表达式中 $/ 和 $¢ 之间有什么区别?