我理解带有符号的规则。我可以从列表中创建哈希值,并使用它们的平庸来传递引号。我不明白的是Perl中提供的好处标记。
我听到的一些原因是:
编程语言中的一个非常有用的功能是一致性。我的好奇心驱使我问我是否将列表声明为“@foos”和一个计数器“$ count”,如何通过说“$ foos [$ count]”来访问元素是否有意义?哦!但是如果我在列表上下文中读取元素,我可以使用“@”;所以说“@foos [$ idx1,$ idx2]”现在有道理!我可以通过查看sigil告诉我将要读取数组而不是单个标量!
这种模式几乎适用于我能想到的任何情况。无论使用哪种印记,或者没有使用任何印记,所做的内容的含义都很清楚。唯一的区别是我必须跟踪上下文并确保将符号保持在行;
答案 0 :(得分:1)
在perldoc的perldata中可以找到最佳解释。它们的功能类似于自然语言中的文章和代词。
' $'符号在语义上像英语单词""因为它表示预期单个值。
整个数组(以及数组和散列的切片)用' @'表示,它的作用与单词#34相同;这些"或"那些"用英语表示,因为它表示预期有多个值。
Perl 6采用了不同的方式,因此对其价值的看法各不相同,但这就是他们背后的理论。