字串就是把子母串
在一起,在 Ruby 字串又分為雙引號字串
跟單引號字串
本質上沒有差別,最主要的差別就是雙引號的字串可以處理字串安插,但單引號字串則不會處理。
x = "Twitter"
x = 'Twitter'
puts "Hi, I'm the king of pirates" # 正常執⾏
puts 'Hi, I'm the king of pirates' # 語法錯誤
# 使用反斜線 \ 告知Ruby ' 為一般的字而不是單引號
puts 'Hi, I\'m the king of pirates' # 正常執⾏
是一種將變數、表達式或方法的結果加入字串中的方法,以便在字串中動態地插入它們的值。這使得字串的建構更加靈活和方便,而不需要使用繁瑣的字串連接操作符。
name = "Luffy"
age = 19
# 將變數插入字串中
puts "Hello, my name is #{name} and I am #{age} years old."
# 印出:Hello, my name is Luffy and I am 19 years old.
# 用於表達
a = 5
b = 10
puts "The sum of #{a} and #{b} is #{a + b}." # 印出:The sum of 5 and 10 is 15.
#帶入方法
def greet(name)
"Hello, #{name}!"
end
puts greet("Luffy") # 印出:Hello, Luffy!
在 Ruby 有提供另一種字串的表現方式,分別是 %Q 跟 %q ,各代表雙引號跟單引號,就不需要反斜線來處理多餘的引號:
name = "Luffy"
age = 19
# 效果等同雙引號
puts %Q(Hello, my name is #{name}, and I am #{age} years old.)
# 效果等同單引號
puts %q(Hello, my name is #{name}, and I am #{age} years old.)
# 不需要反斜線
puts %Q(I'm going to be king of the Pirates.) # 正常執⾏
puts %q(I'm going to be king of the Pirates.) # 正常執⾏
在 Ruby 的世界裡,幾乎什麼東⻄都是物件,即使是單純的數字,也是一個數字物件。
pi = 3.14
puts pi.round # 轉成整數,四捨五入
puts pi.floor # 轉成整數,無條件捨去
puts pi.ceil # 轉成整數,無條件進位
puts pi.to_i # 轉成整數,無條件捨去
在 Ruby 整數除以整數會得到整數,如果希望除到小數點只要除數或被除數代有小數點即可。
result = 10 / 3
puts result # 印出 3
result = 10 / 3.0
puts result # 印出 3.3333333
Ruby 中的陣列是一個有序的數據集合,它可以包含各種數據類型,包括整數、浮點數、字串、符號等。
# 使用陣列:
pirates = ["魯夫", "索隆", "娜美", "騙人布"]
puts pirates.first #印出 魯夫
puts pirates.last #印出 騙人布
puts pirates.length #印出 4
pirates << "香吉士"
puts pirates.last #印出 香吉士
對集合裡的每個元素進行運算,並收集成一個新的集合。
numbers = [1, 2, 3, 4, 5]
doubled_numbers = numbers.map { |num| num * 2 }
p doubled_numbers # 印出[2, 4, 6, 8, 10]
從集合裡挑選符合條件的元素,並收集成一個新的集合。
numbers = [1, 2, 3, 4, 5]
even_numbers = numbers.select { |num| num.even? }
p even_numbers # 印出[2, 4]
對集合裡的每個元素進行運算,並將所有的運算結果歸納成一個單一結果。
numbers = [1, 2, 3, 4, 5]
sum = numbers.reduce(0) { |total, num| total + num }
p sum # sum 印出 15
Ruby 中的範圍是一個表示數字範圍的數據結構。
puts (1..10).to_a # 印出 1 ~ 10
puts (1...10).to_a # 印出 1 ~ 9
range = 1..5
puts range.include?(3) # 印出 true
puts range.include?(6) # 印出 false
Day 05 預計來介紹雜湊和符號,我們明天見!