📅  最后修改于: 2023-12-03 15:11:35.708000             🧑  作者: Mango
散列(Hash)是一个键-值对的集合,其中每个键都是唯一的。在 Ruby 中,Hash 类提供了处理散列的方法和函数。其中之一是 each() 函数。
each() 函数是 Hash 类中的一个迭代器方法,它可以遍历散列中的每个键值对,并对每个键值对执行指定的操作。
以下是一个简单的示例,演示如何使用 each() 函数:
person = { name: "John", age: 30, gender: "Male" }
person.each do |key, value|
puts "#{key}: #{value}"
end
输出结果:
name: John
age: 30
gender: Male
在这个例子中,我们创建了一个名为 person
的散列,其中包含三个键值对。然后我们使用 each() 函数迭代 person
,并对每个键值对执行 puts "#{key}: #{value}"
。puts
是一种用于输出文本的 Ruby 函数。
我们可以使用每个键值对中的值来判断是否找到了散列中的特定项。下面是一个例子:
books = {
"The Hitchhiker's Guide to the Galaxy" => 1979,
"The Restaurant at the End of the Universe" => 1980,
"Life, the Universe and Everything" => 1982,
"So Long, and Thanks for All the Fish" => 1984,
"Mostly Harmless" => 1992
}
books.each do |title, year|
if year > 1980
puts title
end
end
输出结果:
Life, the Universe and Everything
So Long, and Thanks for All the Fish
Mostly Harmless
在这个例子中,我们创建了一个名为 books
的散列,其中包含几本书的出版年份。然后我们使用 each() 函数迭代 books
,并对每个键值对执行 if year > 1980 puts title
。如果出版年份大于 1980,则输出书的标题。
我们可以使用每个键值对中的值来修改散列中的特定项。下面是一个例子:
numbers = { a: 1, b: 2, c: 3, d: 4 }
numbers.each do |key, value|
numbers[key] = value * 2
end
puts numbers
输出结果:
{:a=>2, :b=>4, :c=>6, :d=>8}
在这个例子中,我们创建了一个名为 numbers
的散列,其中包含一些数字。然后我们使用 each() 函数迭代 numbers
,并对每个键值对执行 numbers[key] = value * 2
。这会将每个值乘以 2。最后我们使用 puts
输出 numbers
。
通过使用 each() 函数,我们可以轻松地遍历散列中的每个键值对,并执行想要的操作。这对于搜索以及修改散列中的特定项非常有用。