はじめに
Vim スクリプト内で配列を扱う際、ruby の map
メソッドのように、配列の各要素に一定の処理をかけた配列を再度利用できるかどうかについて調べてみました。
tl;dr
組み込み関数である map()
関数を使うと良さそうでした。
map(list, 'v:val')
のように使うのですが、第2引数で行う処理の中で v:val
と書くことで、リスト内の要素を指定できます。
例
例えば文字列のリストがあったとき、各文字列要素の末尾に「: 」というような suffix をつける場合は以下のように書くことができます。
list = map(['1st','2nd','3rd'],'v:val . ": "')
結果は ['1st: ', '2nd: ', '3rd: ']
という形になります。
おわりに
Vim スクリプトの組み込み関数だけでも便利な機能がたくさんありますね。今まで書いていた配列の実装がもう少しシンプルに書けそうだなと思いました。