blob: 99370a55d491aaa55fa89667b2a887b7478749d3 [file] [log] [blame]
Doug Kearns722fbd12025-03-28 19:36:37 +01001vim9script
2
3# Vim9 tuples
4
5
6# https://github.com/vim/vim/pull/16935#issuecomment-2738310273
7
8function LegacyMakeEntry(key, value) abort
9 return (a:key, a:value)
10endfunction
11
12def MakeEntry(key: string, value: any): tuple<string, any>
13 return (key, value)
14enddef
15
16function LegacyMakeLazyList(e1, e2) abort
17 return ({e1_, e2_ -> {-> [e1_, e2_]}}(a:e1, a:e2))
18endfunction
19
20def MakeLazyList(e1: any, e2: any): func(): list<any>
21 return (((e1_: any, e2_: any) => () => [e1_, e2_])(e1, e2))
22enddef
23
24echo MakeEntry('key', 'value') == list2tuple(MakeLazyList('key', 'value')())
25echo LegacyMakeEntry('key', 'value') == list2tuple(LegacyMakeLazyList('key', 'value')())
26