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