我有一个关于使用"//"运算符的问题,我的测试代码如下:
perl -e '@arr1=();@arr2=(1,2,3);@arr3=defined(@arr1)?@arr1:@arr2;print "[@arr3]\n"'
[1 2 3]
perl -e '@arr1=();@arr2=(1,2,3);@arr3=@arr1//@arr2;print "[@arr3]\n"'
[0]
perl -e '$v1=();$v2="123";$v3=defined($v1)?$v1:$v2;print "[$v3]\n"'
[123]
perl -e '$v1=();$v2="123";$v3=$v1//$v2;print "[$v3]\n"'
[123]
Run Code Online (Sandbox Code Playgroud)
我的问题是,为什么使用"//"运算符给出与在标量上使用"defined()?:"相同的结果,但不是数组(或哈希)?
谢谢!!!
当我使用Ruby语言解析它时,我的数据被编码为64位网络字节顺序如下:
def unpack_string(str)
binary = str.unpack('m*').first
binary.unpack('G*')
end
my_array_of_floats = unpack_string(str)
Run Code Online (Sandbox Code Playgroud)