【发布时间】:2010-07-21 10:37:27
【问题描述】:
在以下情况下,修改散列中的散列的最短代码量是多少:
%hash{'a'} = { 1 => one,
2 => two };
(1) 向 'a' 的内部散列添加一个新键(例如:'a' 的内部散列中的 c => 4) (2) 更改内部哈希中的值(例如:将 1 的值更改为 'ONE')
【问题讨论】:
在以下情况下,修改散列中的散列的最短代码量是多少:
%hash{'a'} = { 1 => one,
2 => two };
(1) 向 'a' 的内部散列添加一个新键(例如:'a' 的内部散列中的 c => 4) (2) 更改内部哈希中的值(例如:将 1 的值更改为 'ONE')
【问题讨论】:
根据这个问题,您似乎对 perl 很陌生,所以您应该看看 perldoc perlop 等。
您的 %hash 键包含作为 hashrefs 的标量值。您可以使用-> 运算符取消引用,例如$hashref = {foo=>42}; $hashref->{foo}。同样,您可以对散列中的值执行相同操作:$hash{a}->{1}。但是,当您链接索引时,它们之间有一些隐式 -> 的语法糖,因此您可以只使用 $hash{a}{1} = 'ONE' 等等。
This question 可能也会给你一些有用的线索。
【讨论】:
$hash{a}{c} = 4;
$hash{a}{1} = "ONE";
【讨论】: