1

一連の変数をリストに入れて、それぞれを代用したいと思います。
例:

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

これはうまくいきません。

4

2 に答える 2

2

これを試してください:

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")')
于 2012-05-06T17:33:04.940 に答える
1

この行の変数を引用符で囲んではいけません: let mylist = ['var1','var2','var3']. これにより、これらの変数の値ではなく、文字列リテラルvar1var2、およびになります。var3

于 2012-05-06T16:41:10.827 に答える