2.6Ruby类型之哈希(Hash)

哈希的键必须是不可变类型,且不必都是同一个类型,最常用的是符号类型。

哈希的键可以重复,后定义的键值对会覆盖先定义的键值对,会报错。

哈希的值可以是任何 Ruby 数据类型,且不必都是同一个类型。

哈希的值可以重复。

哈希的键值对是无序的,但迭代时是有序的。

哈希的键值对的个数(长度)可以动态改变,可以添加、更改、删除键值对。

1.哈希声明

#字面量创建方式

#创建一个空哈希
h = {}

#创建一个哈希
h = {键1 => 值1, 键2 => 值2, 键N => 值N}
#示例
h = {:a => 1, :b => 2, :c => 3}
#当键是符号类型时,支持此简写。
h = {a: 1, b: 2, c: 3}
#[]创建方式

#创建一个空哈希
h = Hash[]

#创建一个哈希
h = Hash[{键1 => 值1, 键2 => 值2, 键N => 值N}]
#new()方法创建方式

#创建一个空哈希
h = Hash.new()

#创建一个哈希
h = Hash.new()
h[键] = 值

2.访问哈希

#查看
v = h[键]

#添加或更改
h[键] = 值

#删除
h.delete(键)

3.哈希长度

注意:length 是只读属性。

v = h.length

原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/ruby/rubylang/37409.html

(0)
huoxiaoqiang的头像huoxiaoqiang
上一篇 2025年5月5日 19:46
下一篇 2025年5月6日 19:55

相关推荐

  • 2.2Ruby类型之类(Class)

    1.类声明 类声明是 Class 类的对象。 2.成员定义 注意:Ruby 语言不支持类访问器属性。 3.继承 3.1方法继承 一个子类只可以直接继承自一个父类,不可以直接继承自多个父类。 子类会直接继承父类中可继承的方法,间接继承祖父类中可继承的方法,以此类推,直至没有可继承的方法。 注意:从父类中继承过来的方法无需…

    Ruby语言教程 2025年5月2日
    0290
  • 1.5Ruby语言的变量(Variable)

    1.变量声明 变量在赋值后可以通过重新赋值更改其值。 2.变量作用域 3.变量引用表达式

    Ruby语言教程 2025年3月5日
    0230
  • 1.7Ruby语言的方法(Method)

    1.方法定义 1.1方法声明 方法声明不是对象,更不是 Method 类的对象。 注意:在没有歧义的情况下,形参外围的圆括号 () 可以被省略。 1.2块 块不是对象,更不是 Proc 类的对象。 注意:块必须与方法调用表达式关联使用,不可以单独使用。 注意:一般情况下,单行使用花括号 {} 方式,多行使用 do/en…

    Ruby语言教程 2025年3月7日
    0200

发表回复

登录后才能评论