iT邦幫忙

2023 iThome 鐵人賽

DAY 24
0
自我挑戰組

30天從零到有,帶你進入程式的世界系列 第 24

[Day 24] Ruby : 雜湊(Hash) 與 符號(Symbol)

  • 分享至 

  • xImage
  •  

雜湊(Hash)

雜湊在ruby中是一種以 key 和 value 組成的資料結構。

  • 建立Hash
profile = {name: 'Yen', age:'26'} 

p profile
{:name=>"Yen", :age=>"26"}
  • Hash 存取, 修改
    要取得或是修改Hash中的值就如陣列,使用中括號填入 key,但要記得加上 symbol 的冒號
profile = {name: 'Yen', age:'26'} 
profile[:age] = 30

p profile[:age]
# 30

#keys #values

  • 使用keysvalues 可以取得整個 hash 的 key 或 value
hash = {name: 'Yen', age:'26'} 

p hash.keys
p hash.values
  • 檢查 hash 裡是否有指定的 key 或 value
hash = {name: 'Yen', age:'26'} 

p hash.has_key?(:name)
# true
p hash.has_value?(30)
# false
  • 用value來反查key
hash = {name: 'Yen', age:'26'} 

p hash.key("26")
# age

call by reference

Hash中在ruby裡面是一個物件,因此當我們複製hash的時候,其實並不是真的複製出來同一個,而是將兩個變數都指向同一個hash(共用同一個hash),還有陣列(array)也同樣會是call by reference

hash1 = {name: 'Yen', age:'26'} 

hash2 = hash1
hash1[:age] = "50"

p hash2

參考資料: https://medium.com/%E9%B3%A5-crl/ruby-%E5%AD%B8%E7%BF%92%E7%AD%86%E8%A8%98-07-%E9%9B%9C%E6%B9%8A-hash-34b611eb8b08


上一篇
[Day 23] Ruby : 陣列方法整理
下一篇
[Day 25] Ruby: 物件和類別
系列文
30天從零到有,帶你進入程式的世界30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言