Ruby中關(guān)于hash的基本使用方法
哈希鍵 - 值對的集合,類似這樣:"employee" => "salary"。它類似于數(shù)組,除了索引是通過任意鍵的任何對象的類型,而不是一個整數(shù)索引。
順序遍歷一個哈希鍵或值要么可能看起來是任意的,一般不會在插入順序。如果訪問的鍵的哈希值不存在,該方法將返回nil。
創(chuàng)建哈希:
使用數(shù)組中,有各種各樣的方法來創(chuàng)建哈希值??梢?new 類方法創(chuàng)建一個空的hash :
months = Hash.new
還可以使用 new 創(chuàng)建哈希,這是一個默認(rèn)值,否則只是 nil:
or
months = Hash.new "month"
當(dāng)訪問任何在哈希鍵,有一個默認(rèn)值,如果鍵或值不存在,訪問哈希表將返回默認(rèn)值:
#!/usr/bin/ruby months = Hash.new( "month" ) puts "#{months[0]}" puts "#{months[72]}"
這將產(chǎn)生以下結(jié)果:
month month #!/usr/bin/ruby H = Hash["a" => 100, "b" => 200] puts "#{H['a']}" puts "#{H['b']}"
這將產(chǎn)生以下結(jié)果:
100 200
可以使用任何Ruby對象作為鍵或值,甚至數(shù)組,那么下面的例子是一個有效的
[1,"jan"] => "January"
哈希內(nèi)置的方法:
我們需要有一個Hash對象實例調(diào)用哈希方法。正如我們所看到的,下面是Hash對象的方式來創(chuàng)建一個實例:
Hash[[key =>|, value]* ] or Hash.new [or] Hash.new(obj) [or] Hash.new { |hash, key| block }
這將返回一個新的哈希值具有給定的對象填充?,F(xiàn)在使用創(chuàng)建的對象,我們可以調(diào)用任何可用實例方法。例如:
#!/usr/bin/ruby $, = ", " months = Hash.new( "month" ) months = {"1" => "January", "2" => "February"} keys = months.keys puts "#{keys}"
這將產(chǎn)生以下結(jié)果:
2, 1
相關(guān)文章
Ruby的XML格式數(shù)據(jù)解析庫Nokogiri的使用進階
這篇文章主要介紹了Ruby的XML格式數(shù)據(jù)解析庫Nokogiri的使用進階,文中對其從HTML/XML中抓取字段還有特別是命名空間的用法進行了深入講解,需要的朋友可以參考下2016-04-04深入剖析Ruby設(shè)計模式編程中對命令模式的相關(guān)使用
這篇文章主要介紹了Ruby設(shè)計模式編程中對命令模式的相關(guān)使用,文中還講到了關(guān)于觀察者模式和命令模式的一些概念區(qū)別,需要的朋友可以參考下2016-04-04Ruby中實現(xiàn)把字符串轉(zhuǎn)換為類的2種方法
這篇文章主要介紹了Ruby中實現(xiàn)把字符串轉(zhuǎn)換為類的2種方法,其中一種是rails提供的方法,需要的朋友可以參考下2014-10-10Ruby中的反射(Reflection)應(yīng)用實例
這篇文章主要介紹了Ruby中的反射(Reflection)應(yīng)用實例,實現(xiàn)通過一個類名字符串構(gòu)造一個類對象和訪問成員變量和私有方法 ,需要的朋友可以參考下2014-06-06簡單介紹Ruby on Rails對PostgreSQL數(shù)組類型的支持
這篇文章主要介紹了簡單介紹Ruby on Rails對PostgreSQL數(shù)組類型的支持,Rails框架從4.0以后對PG的數(shù)組提供了支持,需要的朋友可以參考下2015-04-04