Ruby 語法
讓我們編寫一個簡單的Ruby 程序。 所有的Ruby文件擴展名都是.rb 。 所以,把下面的源代碼放在test.rb 文件中。
在這裡,假設您的/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