String 如何使用range()从字符串生成数字列表?

String 如何使用range()从字符串生成数字列表?,string,list,vim,split,range,String,List,Vim,Split,Range,我知道您可以使用split函数从字符串创建数字列表: let Items = '1,3,5,7' let MyList = split(Items, ',') echo MyList --> [1,3,5,7] 但是如何使用range()从字符串中创建数字列表呢 这不起作用(尾随字符错误): eval(项目)没有任何意义。您可能希望在这方面有所进展: :let Items='1,100,2' :let MyList=split(Items,',') echo range(MyList[0

我知道您可以使用split函数从字符串创建数字列表:

let Items = '1,3,5,7'
let MyList = split(Items, ',')
echo MyList --> [1,3,5,7]
但是如何使用
range()
从字符串中创建数字列表呢

这不起作用(尾随字符错误):

eval(项目)
没有任何意义。您可能希望在这方面有所进展:

:let Items='1,100,2'
:let MyList=split(Items,',')
echo range(MyList[0],MyList[1],MyList[2])
eval(项目)
没有任何意义。您可能希望在这方面有所进展:

:let Items='1,100,2'
:let MyList=split(Items,',')
echo range(MyList[0],MyList[1],MyList[2])

要使用eval,必须有一个表示(“包含”)完整表达式的字符串。如果要使用
字符串作为
范围
函数的参数,则可以连接表示范围调用的字符串,并对其进行如下计算:

let Items = '1,100,2'
let MyList = eval( 'range(' . Items . ')' )
我不认为这样做是个好主意,但这是可能的


eval
与列表和dict的
string
相反,因此使用
split(Items)
获取列表的替代方法是
eval(“['.Items.]]”)
。但是拆分字符串似乎更容易,也更安全。

要使用eval,必须有一个表示(“包含”)完整表达式的字符串。如果要使用
字符串作为
范围
函数的参数,则可以连接表示范围调用的字符串,并对其进行如下计算:

let Items = '1,100,2'
let MyList = eval( 'range(' . Items . ')' )
我不认为这样做是个好主意,但这是可能的

eval
与列表和dict的
string
相反,因此使用
split(Items)
获取列表的替代方法是
eval(“['.Items.]]”)
。但分开绳子似乎更容易,也更安全