繁体   English   中英

列表中的变量

[英]Variables in a list

我想在列表中放入一组变量并替换它们中的每一个。
例:

let mylist = ['var1','var2','var3']

for i in range(0,2)
 let mylist[i] = substitute(mylist[i], '\.', ',', 'g')
endfor

这必须这样做:

let var1 = substitute(var1, '\.', ',', 'g')  
let var2 = substitute(var2, '\.', ',', 'g')  
let var3 = substitute(var3, '\.', ',', 'g')  

但它不起作用。

我错了什么?

编辑
相同的变量['var1','var2','var3']可以做更多的替换,所以我决定在列表中添加所有替换:

let mylist = ['var1','var2','var3']
let mySubst = [['\.', ','], ['\s*$', ''], ['[,.]0$', ''], ['^[.,]', '0&']]

for i in range(0,len(mylist)-1)
    for m in range(0,len(mySubst)-1)
      let mylist[i] = substitute(mylist[i] , mySubst [m][0],  mySubst [m][1], 'g')
    endfor
endfor

这不起作用。

尝试一下:

let [var1, var2, var3] = map([var1, var2, var3], 'substitute(v:val, "\\.", ",", "g")')

重新阅读问题之后,也许这就是你要找的东西:

let list = ['var1', 'var2', 'var3']
let [var1, var2, var3] = map(list, 'substitute({v:val}, "\\.", ",", "g")')

你不应该在这一行的变量周围let mylist = ['var1','var2','var3']引号: let mylist = ['var1','var2','var3'] 这使得它们成为字符串文字var1var2var3 ,而不是这些变量的值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM