在几个在线教程中,我注意到如何初始化散列或数组的变化:
my %new_hash_1 = ();
# or
my %new_hash_2;
my @new_array_1 = ();
# or
my @new_array;
通过将元素插入数组或将键值对添加到散列的基本练习,我以哪种方式初始化变量似乎并不重要。
通过进一步的谷歌搜索,我了解到:
%new_hash_1 = ();
有时用于清空现有的散列。
所以我想我的问题是:
非常感谢。
最佳答案
由于散列和数组的构造方式,如果在声明它们时为它们分配一个空列表,则没有区别。它们仍将包含零个元素,并且您尝试从中读取的任何元素都将是未定义的。
将空列表分配给散列/数组的唯一目的是删除它已有的任何值,并且在初始化时,它们不包含任何值。
需要注意的是,数组和散列只能包含标量值,并且只有标量值才能包含数据。
关于arrays - Perl:如何正确初始化散列或数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17527509/