學習教材:
使用互動式Ruby環境(IRB, Interactive Ruby)來體驗Ruby程式:
如果使用 Mac OS X, 請打開 Terminal, 然後輸入
$ irb
按 Enter
如果使用 Linux, 請打開 Shell, 然後輸入$ irb
按 Enter
如果使用 Windows, 請從選單中打開Ruby的『fxri』
Hello World!
> puts "Hello World!"
Hellow World!
=> nil
puts 是 Ruby 輸出的指令, 輸入 Puts "Hello World!"
即可輸出字串: Hello World!
後面的 => nil 則是代表nothing, 以這段程式碼來說,代表程式運作已結束
字串(String)
由於Ruby是全物件導向的程式語言,為了避免當作文字的字串跟其他物件或語言搞混
會在字串前後加上 『" "』或是『' '』來告訴Ruby內容是字串,二者的差別是
『" "』 => 可以加入跳脫字元(Escape, 詳見)跟插入#{} 來加入Ruby程式
『' '』 => 僅能使用跳脫字元: \'(單引號)跟\(單斜線), 其餘裡面打什麼,就完整輸出什麼出來
使用數字跟 + - * / 來做計算
> 5 + 7
=> 12
> 6 - 2
=> 4
> 8 * 9
=> 72
> 9 / 3
=> 3
使用次方
> 2**4
=> 16
等同於
開根號
> Math.sqrt(25)
=> 5
等同於
Math 是Ruby內建的數學模組(Modules)
Math.sqrt(25) Math = 呼叫 Math這個模組 .sqrt() = 使用.sqrt這個『開根號(Square Root)』的功能 25 = 輸入25這個數字當作參數去運作
由於數字有分成整數(Integer)跟浮點數(Float)
一般開根號都會有小數點, 所以Math.sqrt()出來的值都會成為浮點數
定義(Define)一個方法(Method)
我們可以設定一個方法(Method 或稱函式)來簡化程式指令
以一開始的Hello World!來說,可以簡化成只要輸入 h 就能完成
> def h
> puts "Hello World!"
> end
=> nil
之後只要輸入 h
> h
Hello World!
=> nil
加入一個參數,讓你可以對任何人打招呼
> def h(name)
> puts "Hello #{name}!"
> end
=> nill
然後試著輸入 h("Jack")
> h("Jack")
Hello Jack!
=> nil
#{} 是Ruby在字串裡面加入參數的指令,
{}裡的程式執行完以後會變成一段字串,並加進整段字串裡面去,
然後刪除#{}符號以此例來說,一個沒加入任何參數的『方法』的應該是 h()
Ruby很聰明地讓我們可以省略 直接輸入h即可
參數可以輸入數字, 但是要放文字(這裡叫做字串(String)),請記得前後要加上" "
告訴Ruby說這個內容是字串喲!
所以> h("Jack")
可以簡寫成> h "Jack"
設定預設招呼語,並把字串的第一個字變成大寫
> def h(name = "World")
> puts "Hello #{name.capitalize}!"
> end
=> nil
我們可以測試了, 輸入各自 h, h "wang", h "wANG"看看
> h
Hello World!
=> nil
> h "wang"
Hello Wang!
=> nil
> h "wANG"
Hello Wang!
=> nil
一旦沒有輸入參數,就會變成預設的 Hello World!
設定參數以後,會把第一個字變大寫
.capitalize 是字串的函數之一,把字串的第一個字母變大寫,其餘變小寫
延伸閱讀: Ruby 常用的字串函數