创建哈希
本课属于 Coddy Ruby 学习旅程的“基础知识”单元。第 73 课,共 88 课。
数组非常适合存储有序列表,但有时你需要将值与特定标签关联,而不是使用数字索引。哈希以键值对的形式存储数据,每个键都指向对应的值。
要创建哈希,请使用花括号,并用 => 分隔键和值(这称为哈希箭头):
person = {"name" => "Alice", "age" => 25, "city" => "Paris"}
puts person # 输出:{"name"=>"Alice", "age"=>25, "city"=>"Paris"}在哈希中,每个键都必须唯一,但值可以重复。键和值可以是任何数据类型,包括字符串、数字,甚至数组。
你也可以先创建一个空哈希,之后再添加键值对:
scores = {}
puts scores # 输出:{}哈希非常适合表示带有命名属性的现实对象,比如包含名称和价格的商品,或包含电子邮件和密码的用户。数组需要你记住元素的位置,而哈希可以让你使用有意义的名称来组织数据。
挑战
简单读取三行输入:
- 书名(字符串)
- 作者姓名(字符串)
- 出版年份(整数)
使用哈希火箭语法(=>)创建一个名为 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这节课包含一个小测验。开始学习即可作答,并记录你的进度。
基础知识中的所有课
自己练习: Ruby 在线编译器