Latest web development tutorials

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 中的保留字。 這些保留字不能作為常量或變量的名稱。 但是,它們可以作為方法名。

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" 是指建立多行字符串。 在<< 之後,您可以指定一個字符串或標識符來終止字符串,且當前行之後直到終止符為止的所有行是字符串的值。

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

下面是不同的實例:

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