ruby-hash

hashes in hindi

Hashes in Ruby

hashes, arrays की तरह ही होते हैं। arrays की तरह, hashes में भी data की collection होती है। arrays में जहाँ elements के index integer होते हैं, hashes में index किसी भी data types का हो सकता है और कुछ भी हो सकता है। hashes में key => value का जोड़ा होता है। key का मतलब hashes index होता है जिस से hashes के element access हो सकते हैं, और value hashes में store होने वाली collection है। hashes में भी collection को comma "," से seprate किया जाता है। hashes में object को index की तरह use किया जा सकता है। hashes और कुछ भी नहीं हैं यह others programming languages में associative arrays होते हैं। जिन्हें dictionaries भी कहते हैं।

#Simple Hashes
val={"Language"=>"Ruby","WebSite"=>"Neobit","Year"=>2018}
print val["WebSite"]
print val["Year"]

#Outputs
Neobit2018

Symbols

ruby में एक और ways है, जिस से बहुत fast, hash में indexes create किये जाते और access भी किये जा सकते हैं। symbol string जैसे ही होते है लेकिन symbol changed नहीं होते। symbol एज बार ही memory में store होते हैं। symbol को create करने के लिए colon ":" का use होता है name से पहले, example hash में symbol को keys की तरह use कर सकते हैं।

#Symbols with Hashes
val= {:Language=>"Ruby", :WebSite=>"Neobit", :Year=>2018}
print val[:WebSite]
print val[:Year]

#Outputs
Neobit2018

उपर दिए program में symobols को hash में keys की तरह use किया है। लेकिन symbol को एक और shortcut way से hash में use किया जा सकता है।

#Symbols with Hashes (Shortcut ways)
val= {Language:"Ruby", WebSite:"Neobit", Year:2018}
print val[:WebSite]
print val[:Year]

#Output
Neobit2018

Hashes Method

hashes को manipulate करने के लिए ruby में काफी method हैं hashes के लिए।

hashes delete method

hashes में key और value के जोड़े को delete करने के लिए delete method use किया जाता है।

#syntax hashes delete method
hash.delete(key)
#hashes delete method
val= {Language:"Ruby", WebSite:"Neobit", Year:2018}
val.delete(:Language)
print val[:Language]

#Outputs

#Empty space because Language key deleted

Hashes key method

hash में key method से value की key का पता लग जाता है। अगर value match ना हो तो output nil होगा।

#Syntax hash key method
hash.key(value)
#hashes key method
val= {Language:"Ruby", WebSite:"Neobit", Year:2018}
puts val.key("Neobit")

#Outputs
WebSite

Hash Invert method

Hash invert method से, hash की collection invert हो जाती है। मतलब hash की values, hash की keys बन जाती हैं और hash की keys, उसकी values बन जाते हैं।

#Syntax hash invert
hash.invert
#hashes invert method
val= {Language:"Ruby", WebSite:"Neobit", Year:2018}
puts val.invert

#Outputs
{"Ruby"=>:Language, "Neobit"=>:WebSite, 2018=>:Year}

Hash keys method

hash keys method से hash की सभी keys को एक arrays में return करता है।

#Syntax hash keys method
hash.keys
#hashes Keys method
val= {Language:"Ruby", WebSite:"Neobit", Year:2018}
print val.keys

#Outputs
[:Language, :WebSite, :Year]

Hash Values method

Hash values method, keys method जेसा ही है, लेकिन इसमें hash के सभी values को एक arrays में return करके देता है।

#Syntax hash keys method
hash.values
#hashes Values method
val= {Language:"Ruby", WebSite:"Neobit", Year:2018}
print val.values

#Outputs
["Ruby", "Neobit", 2018]

Hash length method

hash length method से hash की collection का पता चलता है, hash में कितनी value store हैं। यह ही किसी भी hash की length होती है।

#syntax hash method
hash.length
#hashes Length method
val= {Language:"Ruby", WebSite:"Neobit", Year:2018}
print val.length

#Output
3

Nested Hash

एक hash के बीच में और hashes होना, nested hash होता है। nested हुए hash collection होते हैं, parent hash की।

#Syntax of nested hashes
Parent_hash={
Nested_hash:{collection}
}
#hashes Nested
course={
bca:{time:"3Years", type:"Under Graduate"},
pddca:{time:"1Year", type:"PG Diploma"},
mca:{time:"3Years", type:"PG Degree"},
mscit:{time:"2Years", type:"PG Degree"}
}
puts course[:bca][:time]

#Outputs
3Years
<
Share on Google Plus

About Lakhvir Singh

This is a short description in the author block about the author. You edit it by entering text in the "Biographical Info" field in the user admin panel.
    Blogger Comment
    Facebook Comment

0 comments:

Post a Comment