一、使用Hash方法接收參數構建散列
使用Hash方法并傳入參數可以構建散列,傳入的參數必須是偶數個,如果傳入的參數是奇數個則會報錯
按照順序每兩個參數將構成一個鍵值對,第一個參數作為key,第二個參數作為value。
例如:
h = Hash["a","b"]
=> {"a" => "b"}
m = Hash["a","b",:c,"d"]
=> {"a"=>"b", :c=>"d"}
二、拓展運用
假如這里有一個文件,其中的內容有姓名和國家,但它不是ruby能直接識別的數據結構,我們要把它先轉成ruby能識別的數據結構,然后將其中的姓名和國家和相應的人員做成散列形式:
line = "first_name=david;last_name=black;country=usa" #文件的原始內容
record = line.split(/=|;/) #將內容按照=或;進行分割
=> ["first_name", "david","last_name","black","country","usa"]
再將上述的數據進行進一步加工,轉成散列形式:
data = []
element = Hash[*record] #使用*將上面獲取的數組轉成裸列表,作為參數傳給Hash方法,從而構建散列
=> {"first_name"=>"david", "last_name"=>"black", "country"=>"usa"}
data.push(element)
=>[{"first_name"=>"david", "last_name"=>"black", "country"=>"usa"}]
三、參考資料
1.《ruby程序員修煉之道》第11章第7.2節