Ruby中带有示例的Hash.key?(obj)方法

Hash.key?(obj)方法

在本文中,我们将研究Hash.key?(obj)方法。由于该方法的名称完全不同,因此无法进行假设。让我们阅读其定义并在语法和程序代码的帮助下了解其实现。

方法说明:

该方法是Public实例方法,属于Hash类,它位于Ruby语言库中。Hash.key?()方法用于检查键(键值)是否为特定Hash实例的一部分,并且该Hash实例应为普通的Hash实例。它将搜索整个哈希,并根据其搜索结果。让我们来看一下语法,并演示该方法的程序代码。

如果您正在考虑它将返回什么,那么让我告诉您,它将返回一个布尔值。如果在哈希表中找到键,则返回值将为true;如果找不到哈希表实例的一部分,则返回值为false。

语法:

    Hash_instance.key?(obj)

Argument(s) 需要:

此方法仅使用一个参数,而该参数不过是我们要检查其存在性的键。

范例1:

=begin
  Ruby program to demonstrate Hash.key? method
=end	

hsh = {"colors"  => "red","letters" => "a", "Fruit" => "Grapes"}

puts "Hash.key? implementation:"

puts "Enter the Key you want to search: "
ky = gets.chomp

if (hsh.key?(ky))
	puts "Key found successfully"
else
	puts "Key not found!"
end

输出结果

Hash.key? implementation:
Enter the Key you want to search: 
 colors
Key found successfully

说明:

在上面的代码中,您可以观察到我们在普通的Hash实例上调用Hash.key?()方法。当它在用户输入的哈希对象中发现键存在时,它返回true。

范例2:

=begin
  Ruby program to demonstrate Hash.key? method
=end	

hsh = {"colors"  => "red","letters" => "a", "Fruit" => "Grapes"}
hsh1 = {"cars"  => "800","bike" => "pulsar", "phone" => "A50"}
hsh2 = {"one"=> hsh, "two" => hsh1}

puts "Hash.key? implementation:"

puts "Enter the Key you want to search: "
ky = gets.chomp

if (hsh2.key?(ky))
	puts "Key found successfully"
else
	puts "Key not found!"
end

输出结果

Hash.key? implementation:
Enter the Key you want to search: 
 colors
Key not found!

说明:

在上面的代码中,您可以验证Hash.key?()方法不适用于作为多个Hash实例集合的Hash实例。即使对象是Hash实例的一部分,它也会返回false。