উত্তর:
Hashএর key?পদ্ধতি আপনাকে জানায় যে প্রদত্ত কীটি উপস্থিত আছে কিনা।
session.key?("user")
Hash#has_key?কাজটি সম্পন্ন করার সময় , ম্যাটজ এখানে নোট হিসাবে , এটির পক্ষে অবহেলা করা হয়েছে Hash#key?।
hash.key?(some_key)
সর্বশেষ রুবি সংস্করণে হ্যাশ দৃষ্টান্তের একটি key?পদ্ধতি রয়েছে:
{a: 1}.key?(:a)
=> true
আপনার হ্যাশটিতে যা রয়েছে তার উপর নির্ভর করে প্রতীক কী বা একটি স্ট্রিং কী ব্যবহার করতে ভুলবেন না:
{'a' => 2}.key?(:a)
=> false
এটি খুব দেরিতে হলেও প্রতীকগুলি কী হিসাবে ব্যবহার করা উচিত:
my_hash = {}
my_hash[:my_key] = 'value'
my_hash.has_key?("my_key")
=> false
my_hash.has_key?("my_key".to_sym)
=> true
my_hash2 = {}
my_hash2['my_key'] = 'value'
my_hash2.has_key?("my_key")
=> true
my_hash2.has_key?("my_key".to_sym)
=> false
আপনি হ্যাশ তৈরি করার সময় যদি আপনি কী হিসাবে স্ট্রিংটি পাস করেন তবে এটি কীগুলিতে স্ট্রিংটি অনুসন্ধান করবে।
তবে হ্যাশ তৈরি করার সময় আপনি কী হিসাবে প্রতীকটি পাস করেন তারপর has_key? চিহ্ন ব্যবহার করে কীগুলি অনুসন্ধান করবে।
আপনি যদি রেলগুলি ব্যবহার করেন তবে Hash#with_indifferent_accessআপনি এটি এড়াতে ব্যবহার করতে পারেন ; উভয় hash[:my_key]এবং hash["my_key"]একই রেকর্ড নির্দেশ করবে
Hash#with_indifferent_accessআপনি এটি এড়াতে ব্যবহার করতে পারেন ; উভয়ই :my_keyএবং "my_key"একই রেকর্ডটির দিকে ইঙ্গিত করবে
আপনি সবসময় Hash#key?কীটি কোনও হ্যাশটিতে উপস্থিত কিনা তা যাচাই করতে ব্যবহার করতে পারেন।
তা না হলে আপনাকে ফিরিয়ে দেবে false
hash = { one: 1, two:2 }
hash.key?(:one)
#=> true
hash.key?(:four)
#=> false
অন্য উপায় এখানে
hash = {one: 1, two: 2}
hash.member?(:one)
#=> true
hash.member?(:five)
#=> false