9 Ruby基础语法之哈希与符号

在上一篇中,我们讨论了 Ruby 中的字符串和数组,它们是 Ruby 中非常重要的数据类型。今天,我们将深入探讨 Ruby 中的另一种非常重要的数据结构——哈希(Hash)以及 符号(Symbol)。

哈希(Hash)

哈希是一种以键值对(key-value pairs)形式存储数据的集合。在 Ruby 中,哈希是一种非常灵活和强大的数据结构,允许我们快速地通过键查找对应的值。

创建哈希

我们可以使用两种方式来创建哈希:

  1. 使用 Hash.new 方法
  2. 使用 {} 语法

以下是创建哈希的示例:

1
2
3
4
5
6
7
8
9
10
11
# 使用 Hash.new 创建哈希
person = Hash.new
person[:name] = "Alice"
person[:age] = 30

# 使用 {} 语法创建哈希
book = {
title: "The Great Gatsby",
author: "F. Scott Fitzgerald",
year: 1925
}

在上面的代码中,person 是一个空哈希,通过为其添加键值对来初始化。而 book 是一个直接使用 {} 语法初始化的哈希。

访问哈希中的值

要访问哈希中的值,我们只需使用对应的键:

1
2
puts person[:name]  # 输出: Alice
puts book[:author] # 输出: F. Scott Fitzgerald

修改哈希中的值

我们可以通过键来修改对应的值:

1
2
person[:age] = 31
puts person[:age] # 输出: 31

遍历哈希

我们可以使用 each 方法遍历哈希中的每一个键值对:

1
2
3
book.each do |key, value|
puts "#{key}: #{value}"
end

符号(Symbol)

在 Ruby 中,符号是一种轻量级、不可变的字符串,通常用于表示名称或标识符。符号以冒号(:)开头,后面跟着字符。

创建符号

符号的创建非常简单,以下是几个示例:

1
2
symbol1 = :name
symbol2 = :age

符号与字符串的比较

符号与字符串相似,但符号具有更快的性能,因为 Ruby 不会为每个符号分配新内存,它们是唯一的且不可变的。

1
2
3
4
5
string_example = "name"
symbol_example = :name

puts string_example.object_id # 每次运行都会给出不同的 ID
puts symbol_example.object_id # 每次运行给出的 ID 相同

在哈希中使用符号作为键

在哈希中,我们常常使用符号作为键,因为符号比字符串更节省内存。例如:

1
2
3
4
5
options = {
enable_feature: true,
max_retries: 5,
timeout: 30
}

小结

在本篇中,我们讨论了 Ruby 中的 哈希符号,并通过一些示例展示了它们的基本用法。哈希允许我们以键值对形式存储和处理数据,而符号则为我们提供了更加高效的标识符。

下一篇文章中,我们将继续探讨 Ruby 的控制结构,特别是条件语句,通过条件结构来决定我们代码的执行路径。

如有任何问题,欢迎提出!

9 Ruby基础语法之哈希与符号

https://zglg.work/ruby-lang-zero/9/

作者

AI免费学习网(郭震)

发布于

2024-08-15

更新于

2024-08-16

许可协议

分享转发

交流

更多教程加公众号

更多教程加公众号

加入星球获取PDF

加入星球获取PDF

打卡评论