做了一些搜索但找不到任何有用的东西。 我想知道是否有一个类似的摘要表,供初学者了解使用parens /括号的“规则”,特别是(),[],{}之间的差异。 不幸的是,以我的经验,use strict
和use warnings
不告诉我,如果我使用了错误的parens。perl中的parens /括号内使用规则(?)
例如,以下是合法代码(它们来自ikegami的b/c)。
@{"genotype".($i)}
@{$genotype[$i]}
$genotype[$i] = [ split (/:/, $original_line[$i])]
my @genotype = map {[split /:/]} @original_line[6..14]
但是下面这些也是合法吗?通常情况下(对我而言)知道是否导致问题的代码的其他部分(逻辑)足够困难。通过parens对我(初学者)进行排序对于良好的编码来说似乎微不足道。任何关于如何正确使用parens的指南都会很棒。
@{"genotype".[$i]}
@["genotype".($i)]
@("genotype".($i))
@{$genotype($i)}
@[$genotype($i)]
$genotypes[$i] = (split (/:/, $original_line[$i]))
my @genotype = map ([split /:/]) @original_line[6..14]
您是否阅读过参考指南? http://perldoc.perl.org/perlreftut.html – mzedeler 2013-04-22 17:59:46
从[Perl Intro](http://perldoc.perl.org/perlintro.html)开始,然后阅读[Perl数据结构](http:// perldoc .perl.org/perldsc.html)。 – 2013-04-22 18:00:10
大多数这些链接没有具体谈论括号/ parens的用法,除非我在阅读中错过了它们。它们提供了与特定用途相关的示例,但是我希望在具体细节之前首先获得一般视图(如果存在的话) - 一般视图(例如,函数总是用大括号或数组总是带方括号或总是用大括号括起来。 Amon的答案对于像我这样的初学者来说确实提供了一个很好的总结。谢谢大家。 – 2013-04-22 18:41:24