Unicode和ASCII运算符之间的区别

问题描述 投票:10回答:1

我发现当引用插值时,Unicode和ASCII运算符有时会有不同的工作方式。

考虑一下:

$ perl6 -e'my $a = BagHash.new: <a a a a b b b c c c c c d>;for $a.keys -> $k { say "$k => $a<<$k>>" }'

d => 1
b => 3
c => 5
a => 4

还有这个:

$ perl6 -e'my $a = BagHash.new: <a a a a b b b c c c c c d>;for $a.keys -> $k { say "$k => $a«$k»" }'

c => c(5) a(4) b(3) d«c»
a => c(5) a(4) b(3) d«a»
b => c(5) a(4) b(3) d«b»
d => c(5) a(4) b(3) d«d»

但即使使用Unicode运算符,这仍然有效:

$ perl6 -e'my $a = BagHash.new: <a a a a b b b c c c c c d>;for $a.keys -> $k { say "$k => {$a«$k»}" }'
d => 1
b => 3
a => 4
c => 5

这是一个错误,还是有一个我看不到的解释?

utf-8 operators ascii perl6
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.