程式語言的世界由許多種不同類型的資料型態構成,讓我們可以在進行撰寫時針對不同的情況做選擇,今天讓我們來認識基本的幾種類型吧!
變數可以想像成一個標籤,可以貼在各種類型的資料上面,如數字、字串、陣列等,而變數本身沒有型態,被貼上後就成了指定東西的型態。
通常在程式語言中 “=” 並不是大家想的等於,而是指定的意思,被指定過的變數還是可以再指定成別的資料。
在 Ruby 中變數有以下的特性:
- 使用不須宣告或指定型態,可以直接拿來使用
- 可以重複被指定
- 命名使用英文字母、數字或底線的組合、或是非英文字母也可以
- 常數
# 變數指定
name = "Sean"
s = 1
#指定多個變數
a,b,c = [1,2,3]
puts name # 印出 Sean
puts s # 印出 1
puts a,c # 印出 1, 3
Food = “rice”
Drink= “coke”
在 Ruby 比較特別的是常數可被修改,會出現警告訊息,但就只是警告而已,不是錯誤訊息,程式仍可正常執行,以大寫開頭命名。
通常以引號包住,可使用單引號或雙引號,可以包任何字元、數字,都可以成為字串。
p "hello world"
p 'hello world'
p %Q (hello world) # 印出 "hello world"
p %q (hello world) # 印出 'hello world'
name = "Sean"
age = 18
puts "I'm #{name}, and I am #{age} years old" # I'm Sean, and I am 18 years old
puts 'I'm #{name}, and I am #{age} years old' # 單引號中間又有單引號會失效
puts %Q(I'm #{name}, and I am #{age} years old) # I'm Sean, and I am 18 years old
puts %q(I'm #{name}, and I am #{age} years old) # 同單引號會失效
say_hi = "hello world"
puts say_hi[0] # => 印出 h
puts say_hi[5] # => 印出 空白 (注意空格也是字元)
say_hi[0..5] = "Hi!" #(把第0位到第5位字元重新指定,中間的..是範圍的用法)
puts say_hi # => Hi! World
任何數值組成包含整數(Integer)、小數(Float)都可以算是數字,Ruby 裡,數字其實就只是 Integer 這個類別的一個實體(instance)而已,後續物件導向部分會再補充。
puts 1+2*(5-3) # 先處理括號內,由左至右先乘除後加減 = 5
puts 10/3 #整數除整數等於整數 = 3
puts 10.0/3 #小數除以整數等於小數 = 3.33333
# 實際上的運算符號的方法運作
puts 1 + 1
puts 1.+(1) # 結果同上,其實.+是一個方法後面是參數帶入,其他四則運算也相同
Ruby 有許多特別的數字方法可以直接使用,與其他程式語言不同,因為數字在 ruby 中也是一種物件,有特別設計給數字物件的方法。
puts 5.4.round # 轉成整數,四捨五入 => 5
puts 3.65.floor # 轉成整數,無條件捨去 => 3
puts 3.14.ceil # 轉成整數,無條件進位 => 4
puts 3.14.to_i # 轉成整數,無條件捨去 => 3
判斷資料類別可以用.class
name = "Sean"
a = 1
p name.class # String 表示字串類型
p a.class # Integer 表示數字類型中的整數
#如果再往上找 class 會找到?
p Integer.class # Class
p String.class # Class
最後補充的 ruby 的神祕物件類別會在之後物件導向的部分中繼續說明,請大家敬請期待!!
下一篇會是很常應用到的資料型態,陣列的介紹,要好好學會使用陣列喔!
參考資料: