4

我确定这可能是一个简单的问题,但我被卡住了。我需要编写一个小型 Vim 脚本程序来请求用户输入。如果用户输入一个整数,则程序继续。如果他们不这样做,那么程序会循环回来并要求他们重试。如果他们输入“X”,程序就会退出。如何验证用户是否输入了整数?

4

2 回答 2

9

其他答案已经提供了很好的解决方案;为了完整性,我只想使用正则表达式添加更通用的验证:

if input =~# '^\d\+$'
    echo "input is a number"
endif
于 2013-04-06T10:12:30.047 回答
4

您可以使用以下type()功能:

if type(myvar) == type(0)
  echo "myvar is a number"
endif

:h type()

于 2013-04-06T05:57:21.900 回答