まだまだVimスクリプトのBlobを学習中です。
バイナリデータを1Byteずつ処理してみます。
初期化。
:let data=0z01.02.03.04.05.06.07.08.09 :echo data
whileを使って繰り返し処理します。
:let i=0 :while i < 9 : let data[i] = data[i] * data[i] : let i = i + 1 : endwhile :echo data
16進なので分かりにくいですが、各データが2倍の値になってますね。
変数dataに対して、破壊的置換をしましたが、今度は別の変数に結果を格納してみます。
結果が格納される変数はリストにします。
:let data = 0z01020304.05060708.09 :let out=[] :for b in data : call add(out,b * b) : endfor :echo out
リストで表示された方が見やすいです。
コメント