lis*_*tor 3 variables declare perl6
在per5中,我可以使用变量,例如$ foo或@bar而不使用"my".
$foo=1; @bar=(1,2);
Run Code Online (Sandbox Code Playgroud)
在perl6中,为什么我必须一直使用"我的"?否则编译器会说变量unclared.为什么perl6不能只是autovivify?
print "{my @a=1,2,3;}\n"; # have to use "my" to declare variable
print "{@a=1,2,3;}\n"; # this is error 'Variable '@a' is not declared'
Run Code Online (Sandbox Code Playgroud)
我不喜欢必须总是使用"我的"的限制.这个级别太低了,比如C; 非常麻烦.
有没有办法打开始终自动生成?
谢谢.
Chr*_*oph 10
由于各种原因,从语言设计的角度来看,没有明确的变量声明是一个可怕的想法.可以说,显式声明的块范围的词法变量是要走的路,我发现很多"脚本"变种的语言会让这个"错误"(有一个原因可以let添加到Javascript ...)
也就是说,Perl6支持no strictpragma,它允许你省略声明.