A documentação diz que existem apenas 3 variáveis lexicais especiais ( $_
, $/
, $!
).
No entanto, inspecionando o pseudostash MY::, parece que uma variável nomeada $¢
também existe e não está documentada (ou pelo menos, pesquisar em docs.raku por $¢ não produz nenhum resultado) (Editar: de acordo com a resposta aceita, isso é realmente falso , está realmente documentado).
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
Tem $¢
algum significado especial?
Se for importante, estou usando o rakudo v2023.12, implementando a v6.d.