Arrays Perl=>;列表上下文中的运算符
根据Perl,列表上下文中的Arrays Perl=>;列表上下文中的运算符,arrays,perl,operators,Arrays,Perl,Operators,根据Perl,列表上下文中的=>运算符相当于具有额外引号能力的逗号。我明白这一点,但文件也说明了这一点 =>运算符有助于记录哈希、中的键和值以及列表中的其他成对元素之间的对应关系 他们举了一个例子: login( $username => $password ); 现在,在我看来,这相当于 login($username, $password) 除了隐含的引用,两者之间还有什么区别吗?传递给login()的两个参数是否以某种方式链接 更重要的是,列表(不是散列)中的“成对元素”示例是什
=>
运算符相当于具有额外引号能力的逗号。我明白这一点,但文件也说明了这一点
=>运算符有助于记录哈希、中的键和值以及列表中的其他成对元素之间的对应关系
他们举了一个例子:
login( $username => $password );
现在,在我看来,这相当于
login($username, $password)
除了隐含的引用,两者之间还有什么区别吗?传递给login()
的两个参数是否以某种方式链接
更重要的是,列表(不是散列)中的“成对元素”示例是什么?如果我将列表定义为
@f=("foo" => "bar")
我是否可以使用foo
访问bar
?这是否会使数组具有关联性
我读过,但这是问它一般是如何使用的,而不是在列表上下文中 除了隐含的引用,两者之间还有什么区别吗?传递给login()的两个参数是否以某种方式链接 不,不
您引用的材料只是关于记录成对元素(c.f.)。您必须编写代码,将它们视为数组或列表中的成对对象。这一点最好通过以下方式来说明:
login(username => $username, password => $password)
这和
login('username', $username, 'password', $password)
但是显示配对的效果要好得多。Nit:没有数组上下文之类的东西。数组甚至不能由sub返回。它是列表上下文。Nit:
=>
相当于一个逗号,不管上下文如何,它都具有额外的引用能力。@ikegami-huh,就是这样,我不知道%h=(“foo”,bar)
相当于%h=(“foo”=>bar)
,谢谢。关于数组上下文也很公平,我试图避免重复,Q编辑。是的,但那也在列表上下文中。@ikegami啊,是的,当然是。为我辩护,我是生物学家而不是程序员:)。谢谢你的澄清。明白了,谢谢。我的主要问题是,我没有逐字解释文档中的单词,并且认为列表中的元素有某种联系。