Byu*_*Lee 4 arrays perl scalar list slice
作为Perl的新手,我只是不明白以下结果背后是什么样的哲学:
$cnt1 = @arr;
# this gives the length of the array 'arr'
$cnt2 = @arr[ @indices_arr ];
# this gives the last element of the @arr[ @indices_arr ];
Run Code Online (Sandbox Code Playgroud)
有人能解释两者之间的区别吗?
对标量的赋值评估标量上下文中的右侧...
和:
如果在标量上下文中计算数组,则返回数组的长度.
和:
标量上下文中的切片返回切片的最后一项.
@arr
是一个数组; @arr[ @indices_arr ]
是一个数组切片.
至于背后的哲学:列表和数组是Perl中不同的数据类型,具有不同的行为(不要被@
切片中使用的sigil 抛出,切片是列表,而不是数组).请参阅Perl中的阵列与列表:有什么区别?
深入解释两者之间的差异.
归档时间: |
|
查看次数: |
83 次 |
最近记录: |