數字、運算子、表達式
Ruby Explained - Numbers, Operators and Expressions
使用Ruby進行數學運算的時候,運算的結果會和輸入數值的類型相同。也就是說如果以2個整數相除,相除的結果也會是整數。
> 5 / 3
> => 1
為了修正這個結果,你必須讓其中一個數值是可以有小數點的類型,例如浮點數 (float)。
> 5.0 / 3
=> 1.666666666666667
# 只要其中一個是浮點數,運算的結果就會是浮點數。
整數 (integer) 和浮點數 (float) 間的轉換非常容易,只要使用 to_i
或者 to_f
,就可以進行轉換。
> 5.20610.to_i
=> 5
> 5.to_f
=> 5.0
因為 Ruby 是一個非常彈性的語言,他讓你能做些古怪的事,一些你覺得應該可以但從未預期真的可以這麼做的事,例如:讓 2 種完全不同類型的資料相乘。
> "hi" * 3
=> "hihihi"
用變數同樣可以執行這種方式的運算:
> my_word = "howdy"
=> "howdy"
> my_word * 3
=> "howdyhowdyhowdy"
範圍 (Range) 是一個連續的序列,可以用一個簡寫的方式來表示,例如我們想表達 3, 4, 5, 6, 7, 8, 9, 10, 11
這一串數字,只要寫成 (3..11)
,即是指 3 到 11 中間的所有整數,包含 3 跟 11。如果是寫成 (3...11)
則會不包含 11。
另外也可以使用 Range.new(start, finish)
表示,但在慣例上會使用簡寫的方法。
關於 “=”
=
用於指定任務,像是指定一個變數的值:
> name = "Erik"
==
用於檢查 2 個不同的實例是否相等。會常常用在有條件的情況下,
當創造了自己的類別 (例如:”Animal” 類別),
例如你創造了一個類別 (“Animal”),你得告訴 Ruby 如何按照你寫的方清去比較 2 個動物實體。===
三個 “=” 通常是指右邊的物件是不是屬於左邊的物件之一,例如:3 是不是屬於 (1..4) 的範圍內呢?
> (1..4) === 3
=> true
同樣可以作用於確認該物件是否屬於某類別:
> Integer === 3
=> true
Ruby Explained 是用 “In-Plain-Engilish” 來介紹 Ruby 的核心概念,這些概念也常見於其他的介紹中,不過在 Erik Trautman 這裡是免費而且儘量的淺顯易懂。
Erik Trautman 說自己在學習新東西的時候,他希望有人能把他當做五歲小孩,為他進行解釋,Erik 認為這樣是最好的學習方法,而且能避免錯失任何東西。
翻譯:Translate from Erik Trautman