作业中的 Perl 'context'
Perl 'context' in assignments
作为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 ];
有谁能解释一下两者的区别吗?
Assignment to a scalar evaluates the right-hand side in scalar context...
并且:
If you evaluate an array in scalar context, it returns the length of the array.
并且:
Slices in scalar context return the last item of the slice.
@arr
是一个数组; @arr[ @indices_arr ]
是数组切片。
至于这背后的哲学:列表和数组在 Perl 中是不同的数据类型,具有不同的行为(不要被切片中使用的 @
标记抛出,切片是列表,而不是数组) .请参阅 Perl 中的数组与列表:有何区别?
深入解释两者的区别。
作为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 ];
有谁能解释一下两者的区别吗?
Assignment to a scalar evaluates the right-hand side in scalar context...
并且:
If you evaluate an array in scalar context, it returns the length of the array.
并且:
Slices in scalar context return the last item of the slice.
@arr
是一个数组; @arr[ @indices_arr ]
是数组切片。
至于这背后的哲学:列表和数组在 Perl 中是不同的数据类型,具有不同的行为(不要被切片中使用的 @
标记抛出,切片是列表,而不是数组) .请参阅 Perl 中的数组与列表:有何区别?
深入解释两者的区别。