@manga_osyo ああでも冷静に考えてみると,fold はアキュムレータの記述方法を考えないと駄目ですね… map とか filter が取るのは1引数関数なので v:val だけで問題無いですが…
2012-11-15 09:24:45@Linda_pp v:key あたりを使えばいいんじゃないですかね(棒。vital.vim だと v:memo と v:val で、reti.vim だと a:1 と a:2 ですね。
2012-11-15 09:28:03@Linda_pp まぁ filter とかにリスト渡すと v:key にはインデックス番号とか張っていますし‥。 http://t.co/ZqULBJ4P
2012-11-15 09:30:01組込み関数に fold は欲しいけど、Vim script で書いた場合と速度がどれぐらい変わるのかな。
2012-11-15 09:30:35@mattn_jp 関数型で良く見る fold 関数で,例えば 10 の階乗なら fold( range(2,10), 1, 'v:acc * v:val' ) みたいに書けると嬉しいなと思います(v:acc はアキュムレータ).こういう処理はいつもループで書く羽目になるので…
2012-11-15 09:31:14v:acc や v:memo みたいに名前つけるんじゃなくて単に a:1 a:2 みたいな引数番号でもいいとは思っている。
2012-11-15 09:31:54@manga_osyo あー確かに.しかしそれは一般的な filter の仕様ではなくて Vim script 独自のものですし,微妙な気もします.
2012-11-15 09:32:22vim の printf() 書式に %S が追加された。これで例えば :echo printf("-%5S-", "あ") とすると "- あ-" が表示される。ちなみに %5s だとバイト幅扱いになるので期待通りにはならない。
2012-11-15 09:34:26@Linda_pp あとは filter と map でがんば… _人人人人人人人_ > 破壊的変更 <  ̄^Y^Y^Y^Y^Y^ ̄
2012-11-15 09:36:49reti.vim で for 文3つしか使ってないな…。 https://t.co/JzqndOa8
2012-11-15 09:38:34