eval と join を使ったリストの要素の合計を計算
と、ぱっと思いつきで書いてみたもののすでに組み込み関数で似たようなものが用意されていたような…。
[ソース]
function! s:sum(list) return eval(join(a:list, "+")) endfunction function! s:main() echo s:sum([1, 2, 3]) echo s:sum(range(1, 10)) endfunction call s:main()
[出力]
6 55
join でリストの要素を結合して、それを eval を使用して評価しているだけですね。
"+" を変えれば、他の計算も出来ます。