関数の配列

vimscriptである引数に対して連続的に関数を適用させたいことがあって、

    let func_list = [ s:foo,s:bar ];
    for func in func_list
        call func(a,b,c)
    endfor

みたいなことしたいなーと思いつつできないものだと思ってましたが

    let func_list = [ "foo","bar" ];
    for func in func_list
        call s:{func}(a,b,c)
    endfor

とかやればできるんですね。



vimscriptの仕組みがいまいち分からない…