如何动态创建if语句?

时间:2012-03-30 09:21:43

标签: vim input if-statement

我想借助inputdialog

中的值创建一个IF语句

例如:
- inputdialog中提供的值:“>300
- 我将此值分配给变量“a

我的If语句必须是

   if temp >300   
     then  
   else  
     then  
   endif   

如何借助inputdialog变量构造IF语句?
if temp a”不起作用。

修改
这是我的清单:

mylist['1', '2000000', '32000', '33000', '8.40', '8.50', '8.8', '9.20'] 

使用:

  

我在范围内....
  如果eval('mylist [i]'.a)

和 a ='< 8.30'

这是输出:

mylistoutput['1', '8.40', '8.50', '8.8']  

似乎< 8.30被视为< 9

可能是什么问题?

2 个答案:

答案 0 :(得分:1)

为此目的存在几个片段插件:

IIRC UltiSnips有更多要求(Vim 7.3 + Python3)。我到目前为止使用SnipMate


坦率地说,这些代码段插件使用了非常出色的模板占位符技术来实现您所描述的内容。

就个人而言,如果我不得不使用它们,那么输入这样的对话框会让我想要Notepad.exe

答案 1 :(得分:1)

使用eval()功能,如下所示。

if eval('temp' . a)

在评估用户输入时,像往常一样,要小心有潜在危险 动作。