9 Ruby基础语法之哈希与符号
在上一篇中,我们讨论了 Ruby 中的字符串和数组,它们是 Ruby 中非常重要的数据类型。今天,我们将深入探讨 Ruby 中的另一种非常重要的数据结构——哈希
(Hash)以及 符号
(Symbol)。
哈希(Hash)
哈希是一种以键值对(key-value pairs)形式存储数据的集合。在 Ruby 中,哈希是一种非常灵活和强大的数据结构,允许我们快速地通过键查找对应的值。
创建哈希
我们可以使用两种方式来创建哈希:
- 使用
Hash.new
方法 - 使用
{}
语法
以下是创建哈希的示例:
# 使用 Hash.new 创建哈希
person = Hash.new
person[:name] = "Alice"
person[:age] = 30
# 使用 {} 语法创建哈希
book = {
title: "The Great Gatsby",
author: "F. Scott Fitzgerald",
year: 1925
}
在上面的代码中,person
是一个空哈希,通过为其添加键值对来初始化。而 book
是一个直接使用 {}
语法初始化的哈希。
访问哈希中的值
要访问哈希中的值,我们只需使用对应的键:
puts person[:name] # 输出: Alice
puts book[:author] # 输出: F. Scott Fitzgerald
修改哈希中的值
我们可以通过键来修改对应的值:
person[:age] = 31
puts person[:age] # 输出: 31
遍历哈希
我们可以使用 each
方法遍历哈希中的每一个键值对:
book.each do |key, value|
puts "#{key}: #{value}"
end
符号(Symbol)
在 Ruby 中,符号是一种轻量级、不可变的字符串,通常用于表示名称或标识符。符号以冒号(:
)开头,后面跟着字符。
创建符号
符号的创建非常简单,以下是几个示例:
symbol1 = :name
symbol2 = :age
符号与字符串的比较
符号与字符串相似,但符号具有更快的性能,因为 Ruby 不会为每个符号分配新内存,它们是唯一的且不可变的。
string_example = "name"
symbol_example = :name
puts string_example.object_id # 每次运行都会给出不同的 ID
puts symbol_example.object_id # 每次运行给出的 ID 相同
在哈希中使用符号作为键
在哈希中,我们常常使用符号作为键,因为符号比字符串更节省内存。例如:
options = {
enable_feature: true,
max_retries: 5,
timeout: 30
}
小结
在本篇中,我们讨论了 Ruby 中的 哈希
和 符号
,并通过一些示例展示了它们的基本用法。哈希允许我们以键值对形式存储和处理数据,而符号则为我们提供了更加高效的标识符。
下一篇文章中,我们将继续探讨 Ruby 的控制结构,特别是条件语句,通过条件结构来决定我们代码的执行路径。
如有任何问题,欢迎提出!