【发布时间】:2012-03-25 17:09:47
【问题描述】:
“我不知道如何在函数或 for 循环中使用输入对话框中的变量。 Inputdialog 被视为一个字符串,我不能在 for 循环或函数中使用它。
p.e.:
if !exists("myvar")
let myvar= "which variable?"
endif
let a = inputdialog(myvar)
for n in range(1,3)
put = a
endfor
如果 p.e.
var a = n
我希望这是输出:
1
2
3
但它会将其作为输出:
n
n
n
(“a”被视为字符串而不是运算符)
我做错了什么?
如何让 vim 将 inputdialog 的值识别为运算符而不是字符串?
【问题讨论】:
-
但是您的代码是正确的,它会打印它应该打印的内容。我不确定您要做什么,请编辑并重新制定。
-
@lzap 我重新编写了文本。希望我说清楚了。
-
希望
put = a做什么?它将把 var 'a' 的内容设置为inputdialog(),如果它设置为 'n',那将是放在缓冲区中的内容。如果你想要'n'的值,为什么不使用put = n?恐怕我没有得到你想做的事。 -
@El Isra - 我想做更复杂的操作并让用户通过 inputdialog 插入它。我的问题是“如何将变量从 inputdialog 发送到“for 循环”并将其用作变量而不是字符串?
-
见
:help :exec和:help eval()。
标签: function variables vim input for-loop