> On May 23, 2023, at 09:48, Bram Moolenaar <b...@moolenaar.net> wrote: > > The argument of the "func" command is a function name, not an > expression. You are passing a variable, which is an expression. > > There is a trick you can use: Assign the function reference to a global > variable. Function names exist in the global namespace where the global > variable can also be found: > > def g:LambdaText(Op: func(): number): void > g:ThatFunction = Op > func g:ThatFunction > unlet g:ThatFunction > enddef
Thank you, this clarifies things. I also learned I can call string(function(Op)) to get the lambda’s name, and then call execute(‘func ‘ .. lambda_name) to get the lambda’s body. Matan -- -- You received this message from the "vim_use" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php --- You received this message because you are subscribed to the Google Groups "vim_use" group. To unsubscribe from this group and stop receiving emails from it, send an email to vim_use+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/vim_use/9369FB6A-13DC-463D-9717-6C53D94B1914%40gmail.com.