iT邦幫忙

2022 iThome 鐵人賽

DAY 12
0

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

接續昨天的文,
我們知道雜湊為什麼被稱作散列了,
接下來的疑問是:

散列和陣列(Array)的差別?

國中數學有學過矩陣,
所以在學陣列的時候應該比較好理解,

陣列是由元素(element)的集合所組成的資料結構,分配一塊連續的記憶體來儲存。維基百科

也因此是有其排列的順序。
如果用上面的例子改成陣列[],

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

你會發現,程式把name: "Ruby", age: 20直接視為同一個hash參數,第二個位置就變nil。
我們可以加上{},區隔開來,而最後一個可以省略{}

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

如果改成變數型式,

new_hash = [name = "Ruby", age = 20 ]
p new_hash[0] #"Ruby"
p new_hash[1] #20

就只會出現變數裡的值。
這之間的差別滿有趣的呢!

tags: Ruby Hash

上一篇
Day11-[Ruby]奇怪卻很重要.雜湊(Hash)是什麼?(part I)
下一篇
Day13-[Ruby]奇怪卻很重要.雜湊(Hash)是什麼?(part III)
系列文
從零開始的工程師轉職之路.新手學Ruby / Ruby on Rails遇到的問題30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言