Dictionary是VimScript中最复杂的数据类型,等同于PHP中的关联数组,其本质是以字符串为键的哈希表。在PHP中,索引数组和关联数组统一为Array数据类型,而在VimScript里则分成了List和Dictionary两个类型。个人觉得还是PHP的做法更好。
下面就来看看Vim为我们提供了那些内置的与Dictionary有关的函数。
(1)get( {dict}, {key} [, {defaut}])
这个与操作list的get完全同理,只是使用键代替了索引值。
(2)len({expr})
这个与操作List的len完全同理。
(3)has_key({dict}, {key})
判断dict是否含有键key。有则返回1, 没有则返回0
(4)empty { {exprt} )
判断是否为空,与List的empty()同理。
(5)remvoe({dict}, {key})
删除dict中具有指定键值的元素。
(6)extned( {expr1}, {expr2} [, {expr3}])
在前面List操作函数中也出现了,用于合并两个dict。
(7)filter({expr}, {string})
在前面List操作函数中也出现了,用于删除不满足要求的元素。
(8)map({expr}, {string})
在前面List操作函数中也出现了,用于修改每一个元素。
(9)keys({dict