iT邦幫忙

2022 iThome 鐵人賽

DAY 14
0

Day14-[Ruby]奇怪卻很重要.符號(Symbol)是什麼?

在上一章我們了解hash是什麼,
裡面出現了一個很特別的符號(Symbol),
有著可愛的:(冒號),我們一起來看看這是什麼吧!

符號(Symbol) 在hash的作用

可以把 Symbol 想像是一個「帶有名字的物件」。Symbol 在 Ruby 中主要用作 hash 的鍵(key)或者是用來指稱方法的名稱。
PJCHENder

簡單來說,符號本身就是一個物件,
常用來作為hash的key。以之前的例子來看:

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

寫成舊的old_hash寫法時,
把冒號放在 symbol 的前面,並加上=>
要注意的是,當寫成新的new_hash寫法時,
name和:中間不能有空格喔!

為甚麼不使用字串來當key呢?
因為符號有以下特別的地方:

symbol的特別之處

  1. symbol的內容不能改變
  2. symbol指稱到同一個記憶體位置
  3. symbol的效能比較好

明天,我們再詳細探討其特別之處,明天見!

tags: Ruby Hash symbol

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

尚未有邦友留言

立即登入留言