Memoize |
BasicWerk
EC Support
Technique
Facebook
|
20140924194306_zsh_hash_table |
zsh_hash_table
zsh
連想配列・ハッシュテーブル # 宣言が必要 % typeset -A h # ベタ書きで値をセット % h=(a 1 b 2 c 3) # キーを指定して値を取り出す % echo $h[a] 1 # キーを指定しないと値がずらっと出て来る % echo $h 1 2 3 # キーだけを取り出したい場合は (k) 指定子を使う % echo ${(k)h} a b c # キーと値のペアを追加・上書き % h[d]=4 % echo $h[d] 4 % h[d]=100 % echo $h[d] 100 # この書き方でもOK % h+=(e 5) % echo $h[e] 5 % h+=(e 200) % echo $h[e] 200 # 別のハッシュ変数に中身をコピー (一例) % typeset -A h_copy % for key in ${(k)h} do h_copy[$key]=$h[$key] done % for key in ${(k)h_copy} do echo $key $h_copy[$key] done a 1 b 2 c 3 d 100 e 200
|
© Shin Nakamura/BasicWerk 2014 |