【发布时间】:2019-08-29 09:15:02
【问题描述】:
我发现 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
这是一个错误,还是有我看不到的解释?
【问题讨论】:
-
对我来说就像一个错误。
-
此外,我们目前将这些称为“Unicode”和“ASCII”运算符,afaik。
-
感谢@ElizabethMattijsen:s/UTF-8/Unicode/
-
Rakduo 这个问题的问题:2825
标签: utf-8 operators ascii raku