iT邦幫忙

2022 iThome 鐵人賽

DAY 11
0

Day11-[Ruby]奇怪卻很重要.雜湊(Hash)是什麼?(part I)

第一次聽到雜湊(Hash)這個詞,
腦中閃過的是問號,
再閃過的是什麼七拼八湊的東西嗎?

雜湊(Hash)是什麼?

簡單來說Hash是由一組一組的Key(鑰匙)、Value(值/資料)所組成的散列參數。
表現的形式有新、舊兩種,例如我們有一位20歲Ruby的資料儲存:

old_hash = {:name => "Ruby", :age => 20}
new_hash = {name: "Ruby", age: 20 }

前面的:name和:age就是Key,
而後面的"Ruby"和20就是對應的值,
要有對的Key才能得到對應的Value。

為什麼雜湊也有人說散列?

而Hash,我們稱雜湊或是散列,沒有順序之分的。
如上面的例子,
因為使用的是Hash,
name: "Ruby"和age: 20兩者之間是沒有提取順序的。
因此無法用位置找資料,
只能用Key得到對應的Value。

new_hash = {name: "Ruby", age: 20 }
p new_hash[0] #nil
p new_hash[1] #nil
p new_hash[:name] #"Ruby"

或是使用each,將資料一個個印出來。

new_hash = {name: "Ruby", age: 20 }

new_hash.each do |x|
  p x
end

會印出
[:name, "Ruby"]
[:age, 20]

這也是為何雜湊被稱作散列的原因。

tags: Ruby Hash

上一篇
Day10-[Ruby]原來可以這樣寫?幾個簡單例子看到Ruby的簡潔美麗(part II)
下一篇
Day12-[Ruby]奇怪卻很重要.雜湊(Hash)是什麼?(part II)
系列文
從零開始的工程師轉職之路.新手學Ruby / Ruby on Rails遇到的問題30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言