[Day03] 帶著愉悅的心情欣賞 Ruby 吧!
來到了第三天,要開始在 irb 裡試著輸入程式碼囉!來找出 Ruby 裡有哪些惡魔果實資料型態吧!
字串(String)可以是「一個單字」或「一段文字」:
"Hello World".class
=> String
'你寫鐵人賽了嗎?'.class
=> String
"どうぞよろしくおねがいします".class
=> String
想要用單引號或是雙引號都是可以的!
就是你我都熟悉的 11 路公車(誤),數字又分成整數和浮點數兩種:
123.class
=> Integer
3.14.class
=> Float
(說個冷知識,大家知道為什麼印度人發明了數字,但它卻被稱做阿拉伯數字嗎?)
陣列(Array),不就是阿公常在用的分裝藥盒?每次可以按順序打開其中一格,避免大家忘記它長什麼樣子我來貼張圖:
它真的很方便,可以一次放入多個資料,然後用 [
、]
前後包起來,每組資料用,
區隔,這樣阿公吃藥時就不會搞混啦!
話不多說直接進 irb 玩看看:
heros = ["琦玉", "傑諾斯", "龍捲"]
heros.class
=> Array
如此一來,變數 heros
就包含了3位英雄,分別是:
電腦算東西的方式是從 0 開始算,所以陣列裡每個元素對應的位置也是0, 1, 2, 3, 4...依序下去。
在學 Ruby 之前,我對雜湊(Hash)完全不了解,後來發現其實就是改頭換面的陣列(?),它的語法是用{
、}
前後包裹,裡面的資料是兩兩一組對應的 key 和 value
太複雜?沒關係我們直接看 code:
cat = {:name=>"阿肥", :type=>"橘貓"}
cat.class
=> Hash
也可以寫成:
cat = {name: "阿肥", type: "橘貓"}
Ruby的新式寫法看起來是不是更棒。
在這個雜湊 cat
裡有兩個 key ,分別是 name
和 type
,而 "阿肥"
和 "橘貓"
則是其對應的 value。
雜湊裡的資料不需要按順序,每次要取用資料會用 key 去找:
cat[:name]
=> "阿肥"
cat[:type]
=> "橘貓"
不過如果拿著 value 去找 key 是找不到的。
cat["橘貓"]
=> nil
說到變數(Variable)大家一定不陌生,它就是數學課上會的好朋友 x 或 y,我們總是會先假設 x 或 y 等於某個數字,然後再去計算結果,想起當年解函式的快樂了嗎(?)
a = 3
a
=> 3
在 Ruby 的世界也是一樣,會用 =
把東西指定給變數,在定義了一個變數之後,只要呼叫該變數,結果就會等同輸入等號右邊的東西。事實上,不一定只有數字能被指定給變數,今天提到的資料型態都可以拿來指定給變數。
b = "認真刷題"
b
=> "認真刷題"
c = [1 ,2, 3]
c
=> [1, 2, 3]
d = {name: "阿肥", type: "橘貓"}
d
=> {:name=>"阿肥", :type=>"橘貓"}
要注意,如果不小心使用到 關鍵字 當作變數的名稱,可是會噴錯的噢!這點在各個程式語言應該都是一樣的。
name = "阿肥"
=> "阿肥"
puts "早安! #{name}今天吃飯了嗎?"
早安! 阿肥今天吃飯了嗎?"
就先到這邊啦,不過如果跟我一樣是初學者,可能會看不懂今天寫的 .class
和 nil
是什麼,不過別急別急,後面馬上就會討論到了,還有更多關於各種資料型別的規範以及方法在等著呢! Happy Coding!