iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 4
0
自我挑戰組

Ruby名詞解釋總匯系列 第 4

Day 4 : Ruby中的「資料型別、字串」

https://ithelp.ithome.com.tw/upload/images/20200911/201294246vWHhqjTUl.jpg

資料型別 Data Type

在了解接下來的單元前,先簡單知道Ruby世界的資料型別。

*普羅大眾的「資料型別」?
電腦的功能就是處理無數的資料,資料是儲存在記憶體的儲存區,由於資料的型態各不相同,在儲存時所需要的容量不一,不同的資料必須要配給不同的空間大小來儲存,因而有了資料型態(Data type)的規範。

只要是資料都有型別。

*Ruby世界的資料型別
由於Ruby是個完全物件導向的語言,從下圖可以看到物件的階層關係,所有型別皆繼承自物件(Object),甚至是模組(Module)和類別(Class)。

所有的型別都是物件。

字串 String

*英文發音
首先來聽聽英文發音~。
Yes

名詞解釋

*什麼是字串?
使用引號包起來的一段文字。

*建立方法?

方法 程式解析 範例
new方法 建立出物件 wish = String.new("World peace")
單引號 Single Quote 不解析內容,不做代入與翻譯 wish = 'World peace'
雙引號 Double Quote 解析內容 wish = "World peace"
%q() 同單引號,Ruby特有的寫法 %q(World peace)
%Q() 同雙引號,Ruby特有的寫法 %Q(World peace)

*字串可以串接!如何串接字串? -> 字串嵌入 String interpolation

Ruby世界的串接方式:
字串中可使用#{expr}的形式插入程式碼,稱為Interpolation,通常用來填入變數,不過也可以執行程式。

value = 2 * 5
puts "2 * 5 = #{value}" # 2 * 5 = 10
puts "2 * 5 = #{2 * 5}" # 2 * 5 = 10

單引號和雙引號最大的差別:
只有使用雙引號的字串可以使用String interpolation,用法如下。

name = "Lisa"
wish = "World peace"

puts "I'm #{name}, I wish for #{wish}."
印出來 -> I'm Lisa, I wish for World peace.

puts 'I am #{name}, I wish for #{wish}.'
印出來 -> I am #{name}, I wish for #{wish}.

*字串當中也需要用到引號該怎麼辦?

puts 'I'm Lisa, I wish for World peace.'
印出來 -> syntax error, unexpected tIDENTIFIER, expecting end-of-input

會出現語法錯誤。

解法一:改用雙引號" "
解法二:加上反斜線\,反斜線的後面加上非字串的單引號,讓他跳脫字元。
解法三:改用%q(),效果等同單引號。


參考資料

回家作業

請回答以下題目:

1.請解釋字串使用雙引號、單引號,有何不同?

2.以下程式碼出錯了,請改寫他。
puts "我喜歡"為你自己學Ruby on Rails"這本書,深入淺出,真是初學者的最佳入手書!"
印出來 -> syntax error, unexpected tIDENTIFIER, expecting end-of-input

上一篇
Day 3:Ruby中的「常數、關鍵字與保留字」
下一篇
Day 5 : Ruby中的「數字、符號」
系列文
Ruby名詞解釋總匯14
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言