Re: Replace v:val by v:key in a list if patter matches

2018-02-14 Thread Ni Va
Le mercredi 14 février 2018 11:53:11 UTC+1, tyru a écrit : > Hi Ni Va, > > You can choose what you like. > > let list = ['foo', 'bar'] > let pattern = 'oo' > > echo map(copy(list), 'v:val =~# pattern ? v:key : v:val') > " or > echo map(copy(list), 'v:val =~# '.string(pattern).' ? v:key : v:val')

Re: Replace v:val by v:key in a list if patter matches

2018-02-14 Thread tyru
Hi Ni Va, You can choose what you like. let list = ['foo', 'bar'] let pattern = 'oo' echo map(copy(list), 'v:val =~# pattern ? v:key : v:val') " or echo map(copy(list), 'v:val =~# '.string(pattern).' ? v:key : v:val') " or (Vim 8 or higher) echo map(copy(list), {i,v -> v =~# pattern ? i : v}) 2