在Perl中,哪些是“更好”的风格?
$hash{"string"} or $hash{string}?
无论如何,它们的功能是否相同?
解决方法
从
perldata perldoc:
In fact,an identifier within such curlies is forced to be a string,as is any simple identifier within a hash subscript. Neither need quoting. Our earlier example,
$days{'Feb'}can be written as$days{Feb}and the quotes will be assumed automatically. But anything more complicated in the subscript will be interpreted as an expression. This means for example that$version{2.0}++is equivalent to$version{2}++,not to$version{'2.0'}++
所以是基本相同的.不过要小心:
sub is_sub { 'Yep!' }
my %hash;
$hash{ is_sub } = 'nope';
$hash{ is_sub() } = 'it is_sub!!';
say Dumper \%hash;
将会呈现:
$VAR1 = { 'is_sub' => 'nope','Yep!' => 'it is_sub!!' };
我喜欢的是这个裸字…但是记住这些()或前一个(见jrockway的评论和答案),如果你打电话给sub
总结
以上是DEVMAX为你收集整理的我应该在Perl中使用$hash {“string”}还是$hash {string}?全部内容。
如果觉得DEVMAX网站内容还不错,欢迎将DEVMAX网站 推荐给好友。