在本文中,我们将研究Hash.assoc()方法。无法假定该方法的工作原理,因为它的名称完全不同。让我们阅读其定义并在语法和程序代码的帮助下了解其实现。
方法说明:
该方法是Public实例方法,属于Hash类,它位于Ruby语言库中。此方法用于检查对象(键值)是否为特定哈希实例的一部分,以及哈希实例是否可以为普通哈希实例。如果不正常,则意味着Hash实例是多个Array实例及其键的哈希,或者可以说它是多个键和值的集合,而这些键和值本身就是Array类的对象。让我们来看一下语法,并演示该方法的程序代码。
如果您正在考虑它将返回什么,那么让我告诉您,它将返回第一个包含的Hash实例,在该实例中发现键值对的存在。如果在任何哈希中都找不到该对象,它将返回“ nil”。
语法:
Hash_instance.assoc(obj)
Argument(s) 需要:
此方法仅使用一个参数,而该参数不过是一个要检查其存在性的对象。
范例1:
=begin
Ruby program to demonstrate Hash.assoc method
=end
hsh = {"colors" => ["red", "blue", "green"],
"letters" => ["a", "b", "c" ], "Fruit" => ["Banana","Kiwi","Grapes"]}
puts "Hash.assoc implementation:"
puts "Enter the Key you want to search:"
ky = gets.chomp
if (hsh.assoc(ky))
puts "Key found successfully"
puts "Values are: #{hsh.assoc(ky)}"
else
puts "Key not found!"
end输出结果
RUN 1: Hash.assoc implementation: Enter the Key you want to search: colors Key found successfully Values are: ["colors", ["red", "blue", "green"]] RUN 2: Hash.assoc implementation: Enter the Key you want to search: veges Key not found!
说明:
在上面的代码中,您可以发现我们调用了assoc()方法的Hash实例不是任何普通的Hash实例。它是多个Array实例及其特定键的集合。它在找到用户输入的键的情况下返回带有键的整个Array实例。
范例2:
=begin
Ruby program to demonstrate Hash.assoc method
=end
hsh = {"color"=> "green","vege"=> "papaya"}
puts "Hash assoc implementation:"
puts hsh.assoc("color")输出结果
Hash assoc implementation: color green
说明:
在上面,您可以验证assoc()方法也适用于普通的Hash实例。如果键是Hash实例的一部分,它将返回键值对。