Vimスクリプト(その47)

まだまだ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

リストで表示された方が見やすいです。

Leave a Reply

Your email address will not be published. Required fields are marked *

CAPTCHA