Ruby中的哈希集合

Ruby Hash集合

在Ruby中,散列是相同键及其值的集合。它们就像字典一样,具有其说明和元素。您可以借助与之关联的键来检索任何可用值。它类似于数组,但是在这里,您可以使用对象类型的索引,而不仅仅是整数类型。哈希也可以称为字典,映射和关联数组。

如果尝试使用键访问哈希并且该键不存在,则返回nil作为return语句。

现在,让我们看看如何在Ruby中创建哈希?

您可以在{}(大括号)内创建哈希。=>符号用于向键提供值并向哈希提供多个键/值,使用逗号。

语法:

    hash_name = {"key1"=> "value", "key2"=> "value", "key3"=> "value"}
    #or
    hash_name["key"] = "value"
    #or
    hash_name = {key1:  "value1", key2:  "value2", key3:  "value3"}

现在,让我们借助下面给出的一些示例来理解这一概念,

范例1:

id = {   
	"AA101" => "Suresh",   
	"AA102" => "Sanjiv",   
	"AA103" => "Dam",   
	"AA104" => "Swati",
	"AA105" => "Kamlesh"
}      

id.each do |key, value|   
puts "#{key} = #{value}"   
end

输出结果

AA101 = Suresh
AA102 = Sanjiv
AA103 = Dam
AA104 = Swati
AA105 = Kamlesh

说明:

在上面的代码中,我们通过将其放在花括号中创建了带有值的哈希。然后,我们将在每种方法的帮助下打印哈希。该散列是与他们的ID一起的学生记录。这是哈希表的优点,因为我们没有整数索引。

范例2:

fruit = {"banana"=>"yellow"}
puts "Enter the number of key/value you want to enter"
i = gets.chomp.to_i
while (i!=0)
	puts "Enter key:"
	x = gets.chomp
	puts "Enter value:"
	v = gets.chomp
	fruit.store(x,v)
	i=i-1
end
fruit.each do |key, value|   
puts "#{key}'s color is #{value}" 
end

输出结果

Enter the number of key/value you want to enter
4
Enter key:
Apple
Enter value:
Red
Enter key:
Grapes
Enter value:
Green
Enter key:
Mango
Enter value:
Yellow
Enter key:
Kiwiw
Enter value:
Green
banana's color is yellow
Apple's color is Red
Grapes's color is Green
Mango's color is Yellow
Kiwiw's color is Green

说明:

在上面的程序中,我们试图在用户输入值的帮助下创建一个哈希。我们首先用我们的值声明了一个哈希值。然后,我们向用户询问了她要存储在哈希中的值的数量。我们正在使用hash.store方法存储用户输入键及其相应的值。最后,我们将在.each方法的帮助下打印所有值。