由于VimScript动态数据类型特性和各种不同的作用域,为方便程序员操纵变量,vim平台内置了一组操作变量的函数。
(1)type({expr})
返回给定变量名的数据类型。其中的参数可以是变量名,也可以是字面量常数值。返回值是一个Number类型的数字,含义如下:
0 : Number
1: String
2: Funcref
3: List
4: Dictionary
5: Float
给出一个例子:
let a = 1
let b = 'hello'
let c = "hello"
let d = [1,2,3]
let e = {'name':'smstong', 'age': 12}
function! MyFunc(x)
echo s:x
endfunction
let F = function('MyFunc')
let g = 1.0
echo type(a)
echo type(b)
echo type(c)
echo type(d)
echo type(e)
echo type(F)
echo type(g)
echo type(233)
echo type('vimscript')
echo type([])
echo type({})
输出结果:
0
1
1
3
4
2
5
0
1
3
4
(2) function({name})
返回一个