jak*_*kar 11 debugging rakudo raku
运行以下简单代码,检查无符号变量的行为,产生一个奇怪的错误:
use v6.d; # Rakudo Star 2020.05.01 (Windows)
sub test ($p) {
say $p;
}
my \v1 = 1;
say v1; # v1 (ERROR)
test(v1); # v1 (ERROR)
my \v = 1;
say v; # 1 (Correct)
test(v); # 1 (Correct)
my \vv1 = 1;
say vv1; # 1 (Correct)
test(vv1); # 1 (Correct)
my \s1 = 1;
say s1; # 1 (Correct)
test(s1); # 1 (Correct)
Run Code Online (Sandbox Code Playgroud)
这是为什么?
jjm*_*elo 16
v以数字开头并后跟数字(以及点和其他数字)的文字被视为版本。这意味着您不能使用以 v 开头并后跟数字的任何内容作为无符号标识符。
say (v1.2.3).parts; # OUTPUT: «(1 2 3)?»
Run Code Online (Sandbox Code Playgroud)
不过,这可能记录不足......
| 归档时间: |
|
| 查看次数: |
327 次 |
| 最近记录: |