亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

在Ruby中創(chuàng)建和使用哈希的教程

 更新時間:2015年04月10日 10:44:42   投稿:goldensun  
這篇文章主要介紹了在Ruby中創(chuàng)建和使用哈希的教程,羅列了Ruby中各種使用哈希的方法,需要的朋友可以參考下

哈希(Hash)是類似 "employee" => "salary" 這樣的鍵值對的集合。哈希的索引是通過任何對象類型的任意鍵來完成的,而不是一個整數(shù)索引,其他與數(shù)組相似。

通過鍵或值遍歷哈希的順序看起來是隨意的,且通常不是按照插入順序。如果您嘗試通過一個不存在的鍵訪問哈希,則方法會返回 nil。
創(chuàng)建哈希

與數(shù)組一樣,有各種不同的方式來創(chuàng)建哈希。您可以通過 new 類方法創(chuàng)建一個空的哈希:

months = Hash.new

您也可以使用 new 創(chuàng)建帶有默認(rèn)值的哈希,不帶默認(rèn)值的哈希是 nil:

months = Hash.new( "month" )
 
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 對象實例的方式:

Hash[[key =>|, value]* ] or
 
Hash.new [or] Hash.new(obj) [or]
 
Hash.new { |hash, key| block }

這將返回一個使用給定對象進(jìn)行填充的新的哈?!,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

下面是公共的哈希方法(假設(shè) hash 是一個 Hash 對象):

2015410104412429.jpg (934×741)

2015410104231814.jpg (938×727)

2015410104454513.jpg (938×704)

2015410104526360.jpg (935×563)

相關(guān)文章

  • 對優(yōu)化Ruby on Rails性能的一些辦法的探究

    對優(yōu)化Ruby on Rails性能的一些辦法的探究

    這篇文章主要介紹了對優(yōu)化Ruby on Rails性能的一些辦法的一些探究,包括避免內(nèi)存密集型的應(yīng)用和GC等相關(guān)問題的探討,需要的朋友可以參考下
    2015-11-11
  • Ruby中case表達(dá)式詳解

    Ruby中case表達(dá)式詳解

    本文主要介紹了Ruby中case表達(dá)式的兩種形式以及分析,有需要的朋友可以參考下
    2014-10-10
  • Ruby中的block、proc、lambda區(qū)別總結(jié)

    Ruby中的block、proc、lambda區(qū)別總結(jié)

    這篇文章主要介紹了Ruby中的block、proc、lambda區(qū)別總結(jié),本文講解了yield 和 block call 的區(qū)別、block 和 proc、lambda 的區(qū)別、proc 和 lambda 的區(qū)別,需要的朋友可以參考下
    2015-03-03
  • Ruby編寫HTML腳本替換小程序的實例分享

    Ruby編寫HTML腳本替換小程序的實例分享

    這篇文章主要介紹了Ruby編寫HTML腳本替換小程序的實例分享,單純使用Ruby中的字符串替換方法而沒有涉及更復(fù)雜的正則表達(dá)式,需要的朋友可以參考下
    2016-05-05
  • rudy 重載方法 詳解

    rudy 重載方法 詳解

    rudy 重載方法 詳解...
    2007-11-11
  • Ruby里4種比較函數(shù)(equal?, eql?, ==, ===)詳解

    Ruby里4種比較函數(shù)(equal?, eql?, ==, ===)詳解

    本文給大家詳細(xì)介紹了Ruby中的4種比較函數(shù)(equal?, eql?, ==, ===)的用法,并用具體示例進(jìn)行了講解,希望對大家學(xué)習(xí)ruby能夠有所幫助。
    2016-02-02
  • Ruby元編程的一些值得注意的地方

    Ruby元編程的一些值得注意的地方

    這篇文章主要介紹了Ruby元編程的一些值得注意的地方,作者自己用實際代碼給出了相關(guān)示例,需要的朋友可以參考下
    2015-08-08
  • 詳解Ruby on Rails中的mailer相關(guān)使用

    詳解Ruby on Rails中的mailer相關(guān)使用

    這篇文章主要介紹了詳解Ruby on Rails中的mailer相關(guān)使用,主要針對其相關(guān)的編程風(fēng)格給出建議,需要的朋友可以參考下
    2015-08-08
  • Ruby中Hash的11個問題解答

    Ruby中Hash的11個問題解答

    這篇文章主要介紹了Ruby中Hash的11個問題解答,本文講解了如何創(chuàng)建Hash、Hash的鍵是哪些類型、 如何給Hash賦默認(rèn)的值等內(nèi)容,需要的朋友可以參考下
    2015-01-01
  • Ruby多線程編程初步入門

    Ruby多線程編程初步入門

    這篇文章主要介紹了Ruby多線程編程初步入門,線程是Ruby編程學(xué)習(xí)當(dāng)中的重點和難點,需要的朋友可以參考下
    2015-05-05

最新評論