【问题标题】:Modifying hash within a hash in Perl在 Perl 中修改散列中的散列
【发布时间】:2010-07-21 10:37:27
【问题描述】:

在以下情况下,修改散列中的散列的最短代码量是多少:

%hash{'a'} = { 1 => one, 
               2 => two };

(1) 向 'a' 的内部散列添加一个新键(例如:'a' 的内部散列中的 c => 4) (2) 更改内部哈希中的值(例如:将 1 的值更改为 'ONE')

【问题讨论】:

    标签: perl hash


    【解决方案1】:

    根据这个问题,您似乎对 perl 很陌生,所以您应该看看 perldoc perlop 等。

    您的 %hash 键包含作为 hashrefs 的标量值。您可以使用-> 运算符取消引用,例如$hashref = {foo=>42}; $hashref->{foo}。同样,您可以对散列中的值执行相同操作:$hash{a}->{1}。但是,当您链接索引时,它们之间有一些隐式 -> 的语法糖,因此您可以只使用 $hash{a}{1} = 'ONE' 等等。

    This question 可能也会给你一些有用的线索。

    【讨论】:

      【解决方案2】:
      $hash{a}{c} = 4;
      
      $hash{a}{1} = "ONE";
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-09-10
        • 2013-07-19
        • 1970-01-01
        • 2011-03-13
        • 2014-05-19
        • 2018-12-07
        • 2016-09-08
        • 2016-07-02
        相关资源
        最近更新 更多