Ruby 語法

2022-09-27 09:46 更新

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

實例

#!/usr/bin/ruby -w
puts "Hello, Ruby!";

嘗試一下 ?

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

$ ruby test.rb

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

Hello, Ruby!

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

Ruby 程序中的空白

在 Ruby 代碼中的空白字符,如空格和制表符一般會被忽略,除非當(dāng)它們出現(xiàn)在字符串中時才不會被忽略。然而,有時候它們用于解釋模棱兩可的語句。當(dāng)啟用 -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 中的保留字。這些保留字不能作為常量或變量的名稱。但是,它們可以作為方法名。

BEGIN do next then
END else nil 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 中的 Here Document

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

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

下面是不同的實例:

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

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

print <<"EOF";                # 與上面相同
    This is the second way of creating
    her 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

公眾號
微信公眾號

編程獅公眾號