最近、私は Vundle と呼ばれる Vim プラグインを支持しています。as という名前の dict にg:bundle
は次の項目があります。
{'path': function('1')}
item.path() を呼び出すと、Vundle は vundle/config.vim で "s:bundle.path()" を呼び出すことができます:
func! s:bundle.path()
return s:expand_path(g:bundle_dir.'/'.self.name)
endf
では、 Vimscriptの無名関数のパラメータ「1」の使い方を教えてください。
更新しました:
Karkatさん、ありがとうございます。
私は:function {1}
コマンドを使用します。その結果は次のとおりです。
function 1() dict
return s:expand_path(g:bundle_dir.'/'.self.name)
endfunction
関数ブロックは と同じです。s:bundle.path()
中括弧内の数字が意味することを証明しますFuncref
:
関数は nusmber を取得し、dict.len の値はこの関数を参照する Funcref です。この関数は、Funcref を介してのみ使用できます。参照している Funcref がなくなると自動的に削除されます。
参考:
https://github.com/gmarik/Vundle.vim/blob/master/autoload/vundle/config.vim#L106 http://vimdoc.sourceforge.net/htmldoc/eval.html#Dictionary-function