Menu
CoddyTech

创建哈希

本课属于 Coddy Ruby 学习旅程的“基础知识”单元。第 73 课,共 88 课。

数组非常适合存储有序列表,但有时你需要将值与特定标签关联,而不是使用数字索引。哈希以键值对的形式存储数据,每个键都指向对应的值。

要创建哈希,请使用花括号,并用 => 分隔键和值(这称为哈希箭头):

person = {"name" => "Alice", "age" => 25, "city" => "Paris"}

puts person  # 输出:{"name"=>"Alice", "age"=>25, "city"=>"Paris"}

在哈希中,每个键都必须唯一,但值可以重复。键和值可以是任何数据类型,包括字符串、数字,甚至数组。

你也可以先创建一个空哈希,之后再添加键值对:

scores = {}

puts scores  # 输出:{}

哈希非常适合表示带有命名属性的现实对象,比如包含名称和价格的商品,或包含电子邮件和密码的用户。数组需要你记住元素的位置,而哈希可以让你使用有意义的名称来组织数据。

challenge icon

挑战

简单

读取三行输入:

  1. 书名(字符串)
  2. 作者姓名(字符串)
  3. 出版年份(整数)

使用哈希火箭语法(=>)创建一个名为 book 的哈希,其中包含三个键值对:

  • 将 "title" 映射到书名
  • 将 "author" 映射到作者姓名
  • 将 "year" 映射到出版年份(整数)

使用 puts 输出这个哈希。

例如,如果输入是 Ruby Basics、Jane Smith 和 2023,输出应为:

{"title"=>"Ruby Basics", "author"=>"Jane Smith", "year"=>2023}

如果输入是 The Great Gatsby、F. Scott Fitzgerald 和 1925,输出应为:

{"title"=>"The Great Gatsby", "author"=>"F. Scott Fitzgerald", "year"=>1925}

如果输入是 1984、George Orwell 和 1949,输出应为:

{"title"=>"1984", "author"=>"George Orwell", "year"=>1949}

亲手试试

# 读取输入
title = gets.chomp
author = gets.chomp
year = gets.to_i

# TODO: 使用哈希火箭语法(=>)创建一个名为 'book' 的哈希,包含三个键值对
# 键应为:"title"、"author"、"year"


# 输出哈希
puts book
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

基础知识中的所有课

自己练习: Ruby 在线编译器