mirror of
https://github.com/vim/vim.git
synced 2025-07-24 10:45:12 -04:00
Tuples were introduced in commit 9cb865e. See PR #16776. fixes: #16965 closes: #16935 Signed-off-by: Doug Kearns <dougkearns@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
27 lines
671 B
VimL
27 lines
671 B
VimL
vim9script
|
|
|
|
# Vim9 tuples
|
|
|
|
|
|
# https://github.com/vim/vim/pull/16935#issuecomment-2738310273
|
|
|
|
function LegacyMakeEntry(key, value) abort
|
|
return (a:key, a:value)
|
|
endfunction
|
|
|
|
def MakeEntry(key: string, value: any): tuple<string, any>
|
|
return (key, value)
|
|
enddef
|
|
|
|
function LegacyMakeLazyList(e1, e2) abort
|
|
return ({e1_, e2_ -> {-> [e1_, e2_]}}(a:e1, a:e2))
|
|
endfunction
|
|
|
|
def MakeLazyList(e1: any, e2: any): func(): list<any>
|
|
return (((e1_: any, e2_: any) => () => [e1_, e2_])(e1, e2))
|
|
enddef
|
|
|
|
echo MakeEntry('key', 'value') == list2tuple(MakeLazyList('key', 'value')())
|
|
echo LegacyMakeEntry('key', 'value') == list2tuple(LegacyMakeLazyList('key', 'value')())
|
|
|