(1) スカラー変数からアレイ変数への変換
「"From Bash to Z Shell", Oliver Kiddle et.al. , Constructing an Array, p281」を眺めていたら;
- src_files=( **/*.[ch] )
という記述があった。そこで、簡単な実例を作ってみた;
#!/bin/zsh a=($(ls)) i=0 for et in $a; do i=$(($i+1)) echo "$i $et" done
この変数aは配列変数で在ることが確かめられた。要は標準出力を持つコマンド(ls)を「$()」の中で実行; $(ls)すれば配列変数に変換できる。
そこでスカラー変数,sを表示するコマンド「echo s」について同じことをすると、配列変数,aに無事に変換できました、前回の手法と比較すると直截な表現だと思います。
- a=( $(echo $s) ) #今回
- echo s | read -A a #前回
(2) アレイ変数の操作
元ネタは「Zsh文法帳なのですー>ω<」というサイトです。
この中に、興味深いのが2つありました;
- 「配列を別の配列変数に代入するときは、()で囲むのです」
- b=($a) #配列から配列へのcopy
- 「要素の追加には+=を」
- a+=(x y) #配列へのappend
これらのテスト中に偶然出来たのですが、要素の追加法です;
- a=(u v w $a x y z) #append
____
このページの履歴
- 開始 2014-12-13(土) 17:49:43
- 修正 2015-06-15(月) 19:22:59 e → a
- 追加 2015-06-15(月) 21:30:08 関連記事
- 修正 2015-06-17(水) 11:14:13 「a=( $(echo s) ) 」→「a=( $(echo $s) ) 」
0 件のコメント:
コメントを投稿