【发布时间】:2013-04-15 17:44:20
【问题描述】:
做了一些搜索,但找不到任何有用的东西。
我想知道是否有一个排序汇总表供初学者了解使用括号/括号的“规则”,特别是 ()、[]、{} 之间的区别。
不幸的是,根据我的经验,use strict 和 use warnings 不会告诉我我是否使用了错误的括号。
例如,以下是合法代码(b/c 它们来自 ikegami)。
@{"genotype".($i)}
@{$genotype[$i]}
$genotype[$i] = [ split (/:/, $original_line[$i])]
my @genotype = map {[split /:/]} @original_line[6..14]
但是下面的这些也是合法的吗?很多时候(对我来说)很难知道是否是代码的其他部分(逻辑)导致了问题。对我(一个初学者)来说,对我(初学者)进行排序似乎对良好的编码来说是微不足道的。任何关于如何正确使用括号的指南都会很棒。
@{"genotype".[$i]}
@["genotype".($i)]
@("genotype".($i))
@{$genotype($i)}
@[$genotype($i)]
$genotypes[$i] = ( split (/:/, $original_line[$i]))
my @genotype = map ([split /:/]) @original_line[6..14]
【问题讨论】:
-
您阅读参考教程了吗? perldoc.perl.org/perlreftut.html
-
从Perl Intro 开始,然后阅读Perl data structures。
-
这些链接中的大多数都没有专门讨论括号/括号的用法,除非我在阅读中错过了它们。他们提供了与特定用法相关的示例,但我希望在了解具体情况之前先获得一个总体视图(如果存在) - 一个总体视图,例如函数总是带有大括号或数组总是带有方括号或引用总是带有大括号。 Amon 的回答确实为像我这样的初学者提供了一个很好的总结。谢谢大家。
标签: perl square-bracket curly-brackets