Vim script の lambda は :call で呼び出すことが出来ない
Vim script の lambda をいろいろと試していたんですが、どうやら :call
で呼び出せない模様。
call { x -> execute("echo x", "") }(10) " E121: 未定義の変数です: x " E15: 無効な式です: x -> execute("echo x", "") " E475: 無効な引数です: { x -> execute("echo x", "") }(10)
[回避方法]
とりあえず、call()
を経由して呼びだせば問題ないようです。
call call({ x -> execute("echo x", "") }, [10]) " 10
これがバグなのか仕様なのかが気になる。
[使用した vim のバージョン]
- 7.4.2067