[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
nitpick: a=([9223372036854775807]=1 2 3)
From: |
Stephane Chazelas |
Subject: |
nitpick: a=([9223372036854775807]=1 2 3) |
Date: |
Tue, 16 Dec 2014 22:10:49 +0000 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
bash-4.3$ a=([9223372036854775806]=1 2 3 4)
bash-4.3$ echo "${!a[@]}"
-9223372036854775808 -9223372036854775807 9223372036854775806
9223372036854775807
That wraps but as signed longs, which means we get negative
indexes which we can't easily use.
bash-4.3$ echo "${a[@]}"
3 4 1 2
bash-4.3$ for i in "${!a[@]}"; do echo "${a[i]}"; done
1
2
bash-4.3$ echo "${a[-1]}"
2
bash-4.3$ echo "${a[-2]}"
1
bash-4.3$ echo "${a[-3]}"
bash-4.3$ echo "${a[-4]}"
bash-4.3$ echo "${a[@]:0:4}"
1 2
bash-4.3$ echo "${a[@]: -1:1}"
bash-4.3$ echo "${a[@]: -4:1}"
Same with a[9223372036854775807]; a+=(1 2 3)
mksh wraps to 0 at 2^32 and ksh93 at 2^22 (!?).
zsh arrays are not sparse.
--
Stephane
- nitpick: a=([9223372036854775807]=1 2 3),
Stephane Chazelas <=