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 ...
随机推荐
- JS获取服务器时间并且计算距离当前指定时间差的函数
项目中遇到了从服务器获取时间,现在记录一下方便以后查询: 1.后台代码:(创建一个date对象并以JSON的形式返回去) // 获取服务器时间 public String getNowServerTi ...
- 并发编程——IO模型
前言 同步(synchronous):一个进程在执行某个任务时,另外一个进程必须等待其执行完毕,才能继续执行 #所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不会返回.按照这个定义, ...
- 《APP开发》APP规范实例-详细的UI设计方法
对了一个APP开发初手来说,可能心里有很多的疑惑: 屏幕设计为多宽,宽度是不是应该设置为百分比; 按钮大小多大,怎么排列,文字字体用多大的?什么字体显示好看?图标多大,怎么用色?界面怎么布局?等等很多 ...
- hdu——3861 The King’s Problem
The King’s Problem Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Other ...
- 学习日常笔记<day11>cookie及session
1.会话管理 1.1会话管理定义 会话管理:管理浏览器客户端和服务端之间的会话过程中产生的会话数据 域对象:实现资源之间的数据共享 request 域对象 context 域对象 1.2.会话技术 C ...
- JavaScript高级程序设计重点(一)
1.一个完整的 JavaScript 实现应该由下列三 个不同的部分组成 核心(ECMAScript) 文档对象模型(DOM) 浏览器对象模型(BOM) 2.Undefined 类型只有一 ...
- 制作自己的网站第二步***在Linux上装上需要的软件以及部署项目配置**
在购买自己的服务器后,如果想要把项目跑起来,就得安装一些必要的软件. 这里只说一些最基础最基本最不可或缺的几个.其他的可以根据自己的需要 安装使用. 首先,那就是配置jdk了,我们可以通过一些工具把下 ...
- Meteor教程
Meteor 是一个构建在 Node.js 之上的平台,用来开发实时网页程序.Meteor 程序位于数据库和用户界面之间,保持二者之间的数据同步更新. 因为 Meteor 是基于 Node.js 开发 ...
- jquery全局变量---同步请求设置
1.同步 $.ajaxSetup({ async: false }); 2.异步 $.ajaxSetup({ async: true }); 3.说明:我们一般使用同步完要恢复异步.由于js默 ...
- SGU - 311 Ice-cream Tycoon(线段树)
Description You've recently started an ice-cream business in a local school. During a day you have m ...