对一个array我们可以用@arr[1..2]这样的方式取到subarray
但对一个array ref 用箭头$arr_ptr->[1..2]这样会只取到其中一个值
看不太出规律 而又不会error
有人知道是为什么吗
另外一个问题
有人知道4个点的用途吗
perl -e 'print 1..2' # 12
perl -e 'print 1...2' # 12
perl -e 'print 1....2' # (print nothing)
perl -e 'print 0....2' # 0
perl -e 'print 1.....2' # syntax error at -e line 1, near "....."
网络上查到的多半都是2点跟3点的差异 找不到4点的
作者:
scwg ( )
0000-00-00 00:00:00->[ ] 的 index 不是 list context, 而是 scalar context1..2 的 scalar context 解读和 list context 不一样e.g. $arr_ptr->[1,3,5] 相当于 $arr_ptr->[5], 不是@{$arr_ptr}[1, 3, 5]
作者:
cutekid (可爱小孩子)
0000-00-00 00:00:00推 scwg 解释(Y)
作者:
scwg ( )
0000-00-00 00:00:00那再推一个 xd 这个是猜的, 四个点是被拆成 0 ... .2 从 0 到0.2, 所以是一个 0. 1 ... .2 则是空的手边没有 perl 有编-DDEBUGGING不然应该用 -Dx 看parse tree
作者:
cutekid (可爱小孩子)
0000-00-00 00:00:00哇,scwg 太强了,再推一次有关 4 个点的“猜想”
刚刚用-10....2试了一下 0.2的猜想应该是对的关于第一个问题 那1..2的scalar context要怎么解读呢看来是被当成range operator了 这真是太奇怪了 XD
作者:
CindyLinz (Cindy Wang)
0000-00-00 00:00:00是 flip-flop 正反器.. 至于实用情境嘛... (思)