位置:首頁 > 腳本語言 > Ruby基礎教程 > Ruby基礎語法

Ruby基礎語法

讓我們寫一個簡單的ruby程序。所有Ruby源文件將以擴展名.rb。因此,把下麵的源代碼在一個test.rb文件。

#!/usr/bin/ruby -w

puts "Hello, Ruby!";

在這裡,假定您已經安裝有Ruby解釋器,可以在/usr/bin目錄找到。現在嘗試運行此程序如下:

$ ruby test.rb

這將產生以下結果:

Hello, Ruby!

通過以上實例,我們已經看到了一個簡單的Ruby程序,現在讓我們來看看有關Ruby語法的幾個基本概念:

Ruby程序中的空白符:

在Ruby代碼一般都忽略空白字符,例如空格和製表符,除非當它們出現在字符串中。但是,有時它們被使用解釋模棱兩可的報表。詮釋這種類型-w選項啟用時產生警告。

實例:

a + b is interpreted as a+b ( Here a is a local variable)
a  +b is interpreted as a(+b) ( Here a is a method call)

Ruby程序行結尾:

Ruby解釋一個語句中以分號和換行符表示結束。但是,如果Ruby遇到運算符,如+,- 或反斜杠結尾的行,則表示語句繼續。

Ruby標識符:

標識符是變量,常量及方法。 Ruby的標識符是區分大小寫的。Ram和RAM在Ruby中是兩個不同意思的標識符。

Ruby的標識符名稱可以由字母數字字符和下劃線( _ ).

保留字:

下麵的列表顯示了Ruby的中的保留字。這些保留字不能用作常數或變量名。然而,它們可以被用作方法名。

BEGIN do next then
END else nill true
alias elsif not undef
and end or unless
begin ensure redo until
break false rescue when
case for retry while
class if return while
def in self __FILE__
defined? module super __LINE__

Ruby中heredoc:

"Here Document" 是指建立多行字符串。繼<<可以指定一個字符串或者一個標識符來終止字符串字麵,當前行之後的所有行的終止符字符串的值。

如果終止符是引用,引號的類型決定麵向行的字符串常量的類型。注意<<終止符之間不能有空格。

下麵是不同的例子:

#!/usr/bin/ruby -w

print <<EOF
    This is the first way of creating
    here document ie. multiple line string.
EOF

print <<"EOF";                # same as above
    This is the second way of creating
    here document ie. multiple line string.
EOF

print <<`EOC`                 # execute commands
	echo hi there
	echo lo there
EOC

print <<"foo", <<"bar"  # you can stack them
	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
}

聲明代碼在程序運行之前被調用。

例子:

#!/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
}

聲明代碼被稱為程序的結束。

語法:

#!/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解釋器忽略解釋程序代碼。可以使用的的哈希字符(#)開頭的一行:

# I am a comment. Just ignore me.

或者,注釋可能是在同一行後一個語句或表達式:

name = "Madisetti" # This is again comment

可以注釋掉多行如下:

# This is a comment.
# This is a comment, too.
# This is a comment, too.
# I said that already.

這裡是另一種形式。此塊注釋隱藏幾行注釋: =begin/=end:

=begin
This is a comment.
This is a comment, too.
This is a comment, too.
I said that already.
=end