跳轉至內容

Ruby 程式設計/Hello world

來自華夏公益教科書,開放的書籍,開放的世界

← 互動式 Ruby | 字串 →

經典的 Hello, world! 程式是開始學習 Ruby 的好方法。

Hello, world!

[編輯 | 編輯原始碼]

建立一個名為 hello_world.rb 的文字檔案,包含以下程式碼

puts 'Hello, world!'

現在在 shell 提示符處執行它。

$ ruby hello_world.rb
Hello, world!

你也可以在不建立文字檔案的情況下執行簡短的“Hello, world!”程式。這被稱為 單行程式

$ ruby -e "puts 'Hello, world!'"
Hello, world!

選項 -e 表示求值(Ruby 程式碼)。你可以使用 irb 執行此程式碼,但輸出看起來略有不同。puts 將列印“Hello, world!”,但 irb 也會列印 puts 的返回值 - 它是 nil

$ irb
>> puts "Hello, world!"
Hello, world!
=> nil

與 Perl、Bash、Python 和 C Shell 一樣,Ruby 使用井號(也稱為磅號、數字符號)用於註釋。從井號到行尾的所有內容在 Ruby 執行程式時都被忽略。例如,以下是我們的 hello_world.rb 程式,帶有註釋。

# My first Ruby program
# On my way to Ruby fame & fortune!
 
puts 'Hello, world!'

你也可以在程式碼行末添加註釋。井號之前的任何內容都被視為正常的 Ruby 程式碼。

puts 'Hello, world!'  # Print out "Hello, world!"

你也可以一次註釋多行

=begin
This program will
print "Hello, world!".
=end
 
puts 'Hello, world!'

雖然塊註釋可以與 =begin 在同一行開始,但 =end 必須有它自己的行。你不能像在 C、C++ 和 Java 中那樣在程式碼行的中間插入塊註釋,雖然你可以在 =end 與非註釋程式碼在同一行。

=begin This program will print 'Hello, world!'
=end puts 'Hello, world!'

可執行 Ruby 指令碼

[編輯 | 編輯原始碼]

每次執行 Ruby 指令碼時鍵入單詞 ruby 非常繁瑣。為了避免這樣做,請按照以下說明操作。

類 Unix 作業系統

[編輯 | 編輯原始碼]

在類 Unix 作業系統 - 例如 Linux、Mac OS X 和 Solaris 中,你將需要使用 chmod 命令將你的 Ruby 指令碼標記為可執行。這對於 Cygwin 版本的 Ruby 也適用。

$ chmod +x hello_world.rb

你需要在每次建立新的 Ruby 指令碼時執行此操作。如果你重新命名 Ruby 指令碼或編輯現有指令碼,你不需要再次執行“chmod +x”。

接下來,在 Ruby 指令碼的第一行新增 shebang 行。shell 讀取 shebang 行以確定使用哪個程式來執行指令碼。此行不能在前面有任何空白行或任何前導空格。新的 hello_world.rb 程式 - 帶有 shebang 行 - 看起來像這樣

#!/usr/bin/ruby

puts 'Hello world'

如果你的 ruby 可執行檔案不在 /usr/bin 目錄中,請將 shebang 行更改為指向正確的 路徑。另一個常見的 ruby 可執行檔案位置是 /usr/local/bin/ruby

shebang 行被 Ruby 忽略 - 因為該行以井號開頭,Ruby 將該行視為註釋。因此,你仍然可以在 Windows 等不支援 shebang 行的 shell 的作業系統上執行 Ruby 指令碼。

現在,你可以執行你的 Ruby 指令碼,而無需鍵入單詞 ruby。但是,出於安全原因,類 Unix 作業系統不會搜尋當前目錄中的可執行檔案,除非它恰好列在你的 PATH 環境變數 中。因此,你需要執行以下操作之一

  1. 在 PATH 中已有的目錄中建立你的 Ruby 指令碼。
  2. 將當前目錄新增到 PATH 中(不推薦)。
  3. 每次執行指令碼時指定指令碼的目錄。

大多數人從 #3 開始。執行位於當前目錄中的可執行 Ruby 指令碼如下所示

$ ./hello_world.rb

完成指令碼後,通常會建立一個 ~/bin 目錄,將此目錄新增到 PATH 中,並將已完成的指令碼移動到此處,以便在日常使用中執行。然後,你可以像這樣執行你的指令碼

$ hello_world.rb

使用 env

[編輯 | 編輯原始碼]

如果你不想在 shebang 行中硬編碼 ruby 可執行檔案的路徑,你可以在 shebang 行中使用 env 命令在你的 PATH 中搜索 ruby 可執行檔案並執行它。這樣,如果你將 Ruby 指令碼移動到安裝了 Ruby 的目錄不同的計算機上,你就無需更改所有 Ruby 指令碼中的 shebang 行。

#!/usr/bin/env ruby

puts 'Hello world'

如果你使用 Ruby 一鍵安裝程式 安裝了原生 Windows 版本的 Ruby,那麼安裝程式已將 Windows 設定為自動識別你的 Ruby 指令碼為可執行檔案。只需鍵入指令碼的名稱即可執行它。

$ hello_world.rb
Hello world

如果這不起作用,或者你以其他方式安裝了 Ruby,請按照以下步驟操作。

  1. 管理員 身份登入。
  2. 執行標準的 Windows“命令提示符”,cmd
  3. 在命令提示符( shell 提示符)處,執行以下 Windows 命令。執行 ftype 時,請更改命令列引數以正確指向你計算機上安裝 ruby.exe 可執行檔案的位置。
$ assoc .rb=RubyScript
.rb=RubyScript

$ ftype RubyScript="c:\ruby\bin\ruby.exe" "%1" %*
RubyScript="c:\ruby\bin\ruby.exe" "%1" %*

有關這些命令的更多幫助,請執行“help assoc”和“help ftype”。

華夏公益教科書