VimScript脚本语言学习------常用的内置函数---(操纵Dictionary)
2014-03-09 11:42
239 查看
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})
返回一个数组,数组中的元素是dict的所有键值。
(10)values({dict})
返回一个数组,数组中的元素是dict的所有值。
(11)itmes({dict})
返回一个数组,数组中的元素是dict的键值对组成的子数组。
(12)copy(),deepcopy()
在前面List操作函数中也出现了,深浅复制。
(13)string()
序列化为字符串,前面也讲过了。
(14)max(),min(),count()
统统与List的函数类似。
可以看出,List和Dictionary共享很多函数,毕竟两者都是集合数据类型。难怪PHP直接把两者统一为同一种类型。下面给出Dictonary特有的函数的示例用法:
结果:
另外,我们发现vim并没有提供增加一个元素的函数,其实这没有必要,因为可以直接通过let dict["key"]=xxx来完成,上面的例子也演示了。
下面就来看看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})
返回一个数组,数组中的元素是dict的所有键值。
(10)values({dict})
返回一个数组,数组中的元素是dict的所有值。
(11)itmes({dict})
返回一个数组,数组中的元素是dict的键值对组成的子数组。
(12)copy(),deepcopy()
在前面List操作函数中也出现了,深浅复制。
(13)string()
序列化为字符串,前面也讲过了。
(14)max(),min(),count()
统统与List的函数类似。
可以看出,List和Dictionary共享很多函数,毕竟两者都是集合数据类型。难怪PHP直接把两者统一为同一种类型。下面给出Dictonary特有的函数的示例用法:
let dict = {"id":1, "name": '张三', "score": 98.5} echo keys(dict) echo values(dict) echo items(dict) echo len(dict) echo get(dict, "name") echo get(dict, "sex") echo dict["sex"] let dict["sex"] = '男' echo dict["sex"]
结果:
['score', 'id', 'name'] [98.5, 1, '张三'] [['score', 98.5], ['id', 1], ['name', '张三']] 3 张三 0 Error detected while processing /root/t4.vim: line 10: E716: Key not present in Dictionary: sex E15: Invalid expression: dict["sex"] 男
另外,我们发现vim并没有提供增加一个元素的函数,其实这没有必要,因为可以直接通过let dict["key"]=xxx来完成,上面的例子也演示了。
相关文章推荐
- VimScript脚本语言学习------常用的内置函数---(操纵Float)
- VimScript脚本语言学习------常用的内置函数---(操纵光标)
- VimScript脚本语言学习------常用的内置函数---(操纵Float)
- VimScript脚本语言学习------常用的内置函数---(变量相关)
- VimScript脚本语言学习------常用的内置函数---(读写当前缓冲区)
- VimScript脚本语言学习------常用的内置函数---(操纵String)
- VimScript脚本语言学习------常用的内置函数---(操纵List)
- VimScript脚本语言学习------helloworld及数据类型
- VimScript脚本语言学习------变量作用域、函数
- VimScript脚本语言学习------条件、循环
- 脚本语言学习每日一练0
- 微软为Ajax 发明C#衍生新脚本语言Script#
- Windows下使用脚本语言操作文件系统之二-Dictionary对象
- InstallShield 脚本语言学习笔记
- VIM-Sed常用的一些记录。。。逐渐学习。。
- Unity3D脚本语言UnityScript初探
- Perl/CGI脚本语言编程学习资源下载地址大全
- linux shell script 脚本 变量中常用的字符串处理方法
- linux操作系统-vim和shell脚本常用知识总结
- [JAVA语言学习][小技巧]利用Batch批处理脚本实现控制台快速编译执行JAVA程序