在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方法的帮助下打印所有值。