arrays - Perl:如何正确初始化散列或数组

标签 arrays perl hash

在几个在线教程中,我注意到如何初始化散列或数组的变化:

my %new_hash_1 = ();
# or
my %new_hash_2;

my @new_array_1 = ();
# or
my @new_array;

通过将元素插入数组或将键值对添加到散列的基本练习,我以哪种方式初始化变量似乎并不重要。

通过进一步的谷歌搜索,我了解到:
%new_hash_1 = ();

有时用于清空现有的散列。

所以我想我的问题是:
  • 应该使用哪种方法来初始化散列/数组?
  • 每种方法是否有独特的特定目的?或者这是 TIMTOWTDI 的一个例子?

  • 非常感谢。

    最佳答案

    由于散列和数组的构造方式,如果在声明它们时为它们分配一个空列表,则没有区别。它们仍将包含零个元素,并且您尝试从中读取的任何元素都将是未定义的。

    将空列表分配给散列/数组的唯一目的是删除它已有的任何值,并且在初始化时,它们不包含任何值。

    需要注意的是,数组和散列只能包含标量值,并且只有标量值才能包含数据。

    关于arrays - Perl:如何正确初始化散列或数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17527509/

    相关文章:

    javascript - 什么是正确的方法?使用 javascript 和 mysql

    xml - Perl XML::XPath 在文档中添加一堆垃圾

    windows - 如何在 Perl 中构造独立于操作系统的文件路径,包括可选的 Windows 驱动器号?

    perl - 在 Perl 中打印哈希值

    php - HashMap 像名称

    ios - 仅使用索引检索多个数组的值

    php - 多维数组的递归

    php - 为 foreach() 提供的参数无效;数组设置不正确

    perl - TAP::Harness 时间问题与 TAP::Formatter::JUnit

    java - 空格的转义序列是什么或协助我的哈希函数?