创建与读取哈希
键值存储
创建与读取哈希 是 CoddyKit 上的免费 Ruby Academy 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Ruby Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Ruby Academy 课程共包含 4 节课。
什么是哈希?
哈希用于存储键值对。每个键对应一个值,就像字典一样。键是唯一的。
person = { name: "Ada", age: 36 }
puts person读取值
使用方括号和对应的键读取值。
person = { name: "Ada", age: 36 }
puts person[:name]
puts person[:age]缺失键返回 nil
请求不存在的键时,会返回 nil,而不是错误。
person = { name: "Ada" }
puts person[:email].inspect添加和更新
使用方括号进行赋值,可以添加新的键值对或更新现有的键。
person = { name: "Ada" }
person[:age] = 36
person[:name] = "Grace"
puts person字符串键
键不一定要是符号。字符串、数字或任何对象都可以作为键。请保持一致,以确保查找能够匹配。
scores = { "math" => 90, "art" => 80 }
puts scores["math"]空哈希
使用 {} 或 Hash.new 创建空哈希,之后再填充内容。
cart = {}
cart[:apples] = 3
cart[:pears] = 5
puts cart统计键值对数量
size 或 length 会告诉您哈希中有多少个键值对。empty? 用于检查哈希是否为空。
h = { a: 1, b: 2, c: 3 }
puts h.size
puts h.empty?检查键和值
使用 key?(别名为 has_key?)和 value? 检查成员是否存在。
h = { name: "Ada" }
puts h.key?(:name)
puts h.value?("Ada")
puts h.key?(:age)获取所有键和值
keys 和 values 会返回包含所有键或所有值的数组。
h = { a: 1, b: 2 }
puts h.keys.inspect
puts h.values.inspect删除键值对
delete 根据键移除一个键值对,并返回被删除的值。
h = { a: 1, b: 2 }
removed = h.delete(:a)
puts removed
puts h嵌套哈希
值也可以是哈希,从而构建结构化数据。
user = { name: "Ada", address: { city: "London" } }
puts user[:address][:city]快速检查
请检查您对哈希基础知识的掌握情况。
回顾
现在您可以使用哈希:
- 使用
{ key: value }或{}创建哈希 - 使用方括号读取和写入
- 缺失键会返回
nil - 使用
keys、values、size、key?、delete - 嵌套哈希以存储结构化数据
接下来:遍历哈希。
h = { x: 10 }
h[:y] = 20
puts h.values.sum常见问题解答
「创建与读取哈希」课时是免费的吗?
是的 — 「创建与读取哈希」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Ruby Academy 课程的其余内容,请升级到 CoddyKit PRO。 Ruby Academy 课程共包含 4 节课。
「创建与读取哈希」这节课中我会学到什么?
键值存储 你通过在浏览器中直接运行的动手代码来练习 Ruby Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Ruby Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Ruby Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 4 节。
「创建与读取哈希」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Ruby Academy 课中编写并运行代码吗?
能。每节 Ruby Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。