Vim 8.0 で追加された機能 function() 関数
Vim 8.0 では function()
関数の引数が新たに追加されました。
[引数の束縛]
function()
の第二引数に第一引数に渡す関数の引数を渡すことで、引数の束縛を行うことができるようになりました。
function! Plus(a, b) return a:a + a:b endfunction " 第一引数を束縛 let s:Plus3 = function("Plus", [3]) echo s:Plus3(2) " => 5 echo s:Plus3(-5) " => -2
[関数が参照する辞書を指定]
第三引数に辞書を渡すことで、関数が参照する辞書を指定することが出来ます。
function! Disp() dict return self.name . " : " . self.age endfunction let s:data = { "name" : "homu", "age" : 14 } let s:Disp = function("Disp", [], s:data) echo s:Disp()
関数の束縛がかなり便利。