Ruby 語法


讓我們寫一個簡單的 Ruby 程式。所有的 Ruby 檔案副檔名都是 .rb。所以,把下面的原始碼放在 test.rb 檔案中。

實例

#!/usr/bin/ruby -w

puts "Hello, Ruby!";

運行實例»

點擊"運行實例" 按鈕查看線上實例

在這裡,假設您的/usr/bin 目錄下已經有可用的Ruby 解釋器。現在,嘗試運行這個程序,如下所示:

$ ruby test.rb

這將會產生下面的結果:

Hello, Ruby!

您已經看到了一個簡單的Ruby 程序,現在讓我們看看一些Ruby語法相關的基本概念:

Ruby 程式中的空白

在Ruby 程式碼中的空白字符,如空格和製表符一般會被忽略,除非當它們出現在字串中時才不會被忽略。然而,有時候它們用來解釋模稜兩可的語句。當啟用 -w 選項時,這種解釋會產生警告。

實例:

a + b 被解释为 a+b (这是一个局部变量)
a  +b 被解释为 a(+b) (这是一个方法调用)

Ruby 程式中的行尾

Ruby 把分號和換行符號解釋為語句的結尾。但是,如果 Ruby 在行尾遇到運算符,例如 +、- 或反斜杠,它們表示一個語句的延續。

Ruby 標識符

標識符是變數、常數和方法的名稱。 Ruby 標識符是大小寫敏感的。這意味著 Ram 和 RAM 在 Ruby 中是兩個不同的識別碼。

Ruby 識別碼的名稱可以包含字母、數字和底線字元( _ )。

保留字

下表列出了 Ruby 中的保留字。這些保留字不能作為常數或變數的名稱。但是,它們可以作為方法名稱。

##falserescue whencasefor#retrywhile##classifreturnwhile
BEGINdonextthen
END elseniltrue
#aliaselsifnotundef
andendorunless
beginensureredountil
#break
###def######in##### #self######__FILE__############defined?######module######super######__LINE__####### ######

Ruby 中的 Here Document

"Here Document" 是指建立多行字串。在 << 之後,您可以指定一個字串或識別碼來終止字串,且當前行之後直到終止符為止的所有行是字串的值。

如果終止符用引號括起,引號的型別決定了面向行的字串型別。請注意<< 和終止符之間必須沒有空格。

下面是不同的實例:

#!/usr/bin/ruby -w
# -*- coding : utf-8 -*-

print <<EOF
    这是第一种方式创建here document 。
    多行字符串。
EOF

print <<"EOF";                # 与上面相同
    这是第二种方式创建here document 。
    多行字符串。
EOF

print <<`EOC`                 # 执行命令
	echo hi there
	echo lo there
EOC

print <<"foo", <<"bar"	      # 您可以把它们进行堆叠
	I said foo.
foo
	I said bar.
bar

試試看»

這將產生以下結果:

    This is the first way of creating
    her document ie. multiple line string.
    This is the second way of creating
    her document ie. multiple line string.
hi there
lo there
        I said foo.
        I said bar.

Ruby BEGIN 語句

語法

BEGIN {
   code
}

宣告code 會在程式執行前被呼叫。

實例

#!/usr/bin/ruby

puts "This is main Ruby Program"

BEGIN {
   puts "Initializing Ruby Program"
}

這將產生以下結果:

Initializing Ruby Program
This is main Ruby Program

Ruby END 語句

語法

END {
   code
}

宣告code 會在程式的結尾被呼叫。

實例

#!/usr/bin/ruby

puts "This is main Ruby Program"

END {
   puts "Terminating Ruby Program"
}
BEGIN {
   puts "Initializing Ruby Program"
}

這將產生以下結果:

Initializing Ruby Program
This is main Ruby Program
Terminating Ruby Program

Ruby 註解

註解會對Ruby 解譯器隱藏一行,或一行的一部分,或者若干行。您可以在行首使用字元( # ):

# 我是注释,请忽略我。

或者,註解可以跟著語句或表達式的同一行的後面:

name = "Madisetti" # 这也是注释

您可以註解多行,如下所示:

# 这是注释。
# 这也是注释。
# 这也是注释。
# 这还是注释。

下面是另一種形式。這種區塊註解會對解釋器隱藏 =begin/=end 之間的行:

=begin
这是注释。
这也是注释。
这也是注释。
这还是注释。
=end