Ruby Hash类
Hash类
| 生成 | a = {"one" => 1, "two" => 2} a = {one: 11, two: 22} a = Hash.new() 注: Hash.new生成不带键值 键为“not_key" |
||||||
| 设定与读取值 |
注意: fetch不存在的值会报错 |
||||||
| 遍历取值 |
|
||||||
| 读值不报错方法 |
|
||||||
| 检验是否包含键 | h.key?(key) h.has_key?(key) h.include?(key) h.member?(key) 注:返回bool |
||||||
| 检验是否包含值 | h.value?(value) h.has_value?(value) |
||||||
| 搜索指定值的索引 |
key(val) -> object 注意: 虽然有index方法,但是对于hash已经废弃。使用会出警告。 index方法和key方法一样 |
||||||
| 大小 | h.length h.size |
||||||
| 删除键 | h.delete(key) | ||||||
| Rails扩张的删除 |
except, except! 返回删除后剩余的, 带!的改变自身 |
||||||
| 满足条件删除 | h.delete_if{ |key, val| ... } h.reject! { |key, val| ... } |
||||||
| 清空(初始化) | h.clear() | ||||||
| 合并 | h1.merge(h2) 例: {a: 1}.merge({b: 2}) h1.merge!(h2) |
||||||
| 哈希嵌套 | h = {a: {b: 1}} h[:a][:b] |
||||||
Ruby Hash类的更多相关文章
- Ruby Hash与ActiveSupport’s HashWithIndifferentAccess对于key的区别
Ruby Hash的key定义的时候是支持symbol或者string的,所以访问的时候只能是symbol或者string其中一种方式. 建议使用symbol定义Hash的key,因为symbol在R ...
- ruby hash 默认值的问题
参考:http://stackoverflow.com/questions/16159370/ruby-hash-default-value-behavior 使用ruby hash 默认值为空数组, ...
- 雷林鹏分享:Ruby Dir 类和方法
Ruby Dir 类和方法 Dir 是一个表示用于给出操作系统中目录中的文件名的目录流.Dir 类也拥有与目录相关的操作,比如通配符文件名匹配.改变工作目录等. 类方法 序号方法 & 描述 1 ...
- 雷林鹏分享:Ruby File 类和方法
Ruby File 类和方法 File 表示一个连接到普通文件的 stdio 对象.open 为普通文件返回该类的一个实例. 类方法 序号方法 & 描述 1File::atime( path) ...
- Ruby on Rails Tutorial 第四章 Rails背后的Ruby 之 类
Ruby和其他面向对象的语言一样,使用类来组织方法,然后实例化类,创建对象.1.构造方法使用双引号是字符串的字面构造方法,也可以使用“具名构造方法”,即在类名上调用new方法 >> s=& ...
- objective-c中类似ruby枚举类的实例方法
虽然obj-c的语法格式略显繁琐,但它和ruby都从某些方面继承了smalltalk的某些动态的东西.这些东西是 C和C++之类的静态语言所不曾有的. 比如ruby中可以将一个类或对象的所有方法枚举出 ...
- ruby URI类
一. URI require 'uri' uri = URI("http://foo.com/posts?id=30&limit=5#time=1305298413") # ...
- Ruby String类
String类 更新: 2017/06/10 更新: 2017/06/23 puts()要空格可以直接不加参数 更新: 2017/08/17 增加rails引入的titleize 更新: 2017/1 ...
- RUBY的类封装,继承,多态简单演示
class Person def initialize(name,age=18) @name=name @age=age @motherland="China" end def t ...
随机推荐
- Git学习之常见错误 git push 失败
Git学习之常见错误 git push 失败 问题描述: git push Counting objects: , done. Delta compression using up to thread ...
- 简述HashMap和Hashtable的差别
1.HashMap继承AbstractMap类. Hashtable继承了Dictionary类. 2.HashMap同意有null的键和值. Hashtable不同意有null的键和值. ...
- 创立一个站点的前前后后(起因,域名,云平台,备案,CDN等等)(1)
起因 写完<完美软件开发:方法与逻辑>这书后,原本想继续写书的,可出来參加了些社区活动后,我发现我写的书大家评价还行.但事实上不太理解.而接下来想写的书更加抽象点.准备叫<管理的解析 ...
- 盘点UML中的四种关系
生活中,我们既是独立的个体,又通过联系形成各种关系,比方说:朋友.恋人.父子,同学--于是乎,出现了神乎其神的六人定律. 那么在UML中又存在什么样的关系呢?以下我们来梳理一下. 关联(Associa ...
- vux-uploader 图片上传组件
1.网址:https://github.com/greedying/vux-uploader 2.安装 npm install vux-uploader --save npm install --sa ...
- 用SQL脚本 生成INSERT SQL语句
配置表B 中的数据,可以从A表中查询到,在实际配置时,通过sql脚本生成B表的insert脚本,最多用到的是sql中连接符[||],以及双引号[''''] 例1:电销系统中地区出单机构关系表配置数据生 ...
- Python开发【1.1 基础语法】
1.Python语言特点 优点: ①.丰富的库 ②.简单.开源 ③.支持面向对象编程 ④.解释性语言,无需编译 ⑤.高层语言,不用考虑内存问题 ⑥.可移植性好,不依赖于操作系统 缺点: ①.运行效率较 ...
- 浅谈OC中的Category
OC特有的分类Category,依赖于类.它可以在不改变原来的类内容的基础上,为类增加一些方法.分类的使用注意: (1)分类只能增加方法,不能增加成员变量: (2)在分类方法的实现中可以访问原来类中的 ...
- scrapy框架的解析
1,scrapy框架的官网:https://scrapy.org/ 什么是scrapy框架: scrapy 是一个为了爬取网站数据,提取结构性数据而编写的应用内框架,非常出名,所谓框架就是一个已经继承 ...
- python 线程 进程 标识
s = '%s%s%s%s%s%s%s%s' % ( time.strftime('%Y%m%d %H:%M:%S', time.localtime(time.time())), ' os.getpp ...