Ruby 語法

2018-08-12 22:02 更新

Ruby 語法

讓我們編寫一個簡單的 Ruby 程序。所有的 Ruby 文件擴展名都是 .rb。所以,把下面的源代碼放在 test.rb 文件中。

#!/usr/bin/ruby -w

puts "Hello, Ruby!";

在這里,假設(shè)您的 /usr/bin 目錄下已經(jīng)有可用的 Ruby 解釋器?,F(xiàn)在,嘗試運行這個程序,如下所示:

 $ ruby test.rb 

這將會產(chǎn)生下面的結(jié)果:

 Hello, Ruby! 

您已經(jīng)看到了一個簡單的 Ruby 程序,現(xiàn)在讓我們看看一些 Ruby 語法相關(guān)的基本概念:

Ruby 程序中的空白

在 Ruby 代碼中的空白字符,如空格和制表符一般會被忽略,除非當它們出現(xiàn)在字符串中時才不會被忽略。然而,有時候它們用于解釋模棱兩可的語句。當啟用 -w 選項時,這種解釋會產(chǎn)生警告。

實例:

a + b 被解釋為 a+b (這是一個局部變量)
a  +b 被解釋為 a(+b) (這是一個方法調(diào)用)

## Ruby 程序中的行尾

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

Ruby 標識符

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

Ruby 標識符的名稱可以包含字母、數(shù)字和下劃線字符( _ )。

保留字

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

BEGINdonextthen
ENDelseniltrue
aliaselsifnotundef
andendorunless
beginensureredountil
breakfalserescuewhen
caseforretrywhile
classifreturnwhile
definselfFILE
defined?modulesuperLINE

Ruby 中的 Here Document

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

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

下面是不同的實例:

#!/usr/bin/ruby -w

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

print <<"EOF";                # 與上面相同
    This is the second way of creating
    here document ie. multiple line string.
EOF

print <<`EOC`                 # 執(zhí)行命令
    echo hi there
    echo lo there
EOC

print <<"foo", <<"bar"        # 您可以把它們進行堆疊
    I said foo.
foo
    I said bar.
bar

這將產(chǎn)生以下結(jié)果:

  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 會在程序運行之前被調(diào)用。

實例

#!/usr/bin/ruby

puts "This is main Ruby Program"

BEGIN {
   puts "Initializing Ruby Program"
}

這將產(chǎn)生以下結(jié)果:

Initializing Ruby Program
This is main Ruby Program

Ruby END 語句

語法

END {
   code
}

聲明 code 會在程序的結(jié)尾被調(diào)用。

實例

#!/usr/bin/ruby

puts "This is main Ruby Program"

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

這將產(chǎn)生以下結(jié)果:

Initializing Ruby Program
This is main Ruby Program
Terminating Ruby Program

Ruby 注釋

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

# 我是注釋,請忽略我。

或者,注釋可以跟著語句或表達式的同一行的后面:

name = "Madisetti" # 這也是注釋

您可以注釋多行,如下所示:

# 這是注釋。
# 這也是注釋。
# 這也是注釋。
# 這還是注釋。

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

=begin
這是注釋。
這也是注釋。
這也是注釋。
這還是注釋。
=end
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號