Ruby 程式設計/Hello world
經典的 Hello, world! 程式是開始學習 Ruby 的好方法。
建立一個名為 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 非常繁瑣。為了避免這樣做,請按照以下說明操作。
在類 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 環境變數 中。因此,你需要執行以下操作之一
- 在 PATH 中已有的目錄中建立你的 Ruby 指令碼。
- 將當前目錄新增到 PATH 中(不推薦)。
- 每次執行指令碼時指定指令碼的目錄。
大多數人從 #3 開始。執行位於當前目錄中的可執行 Ruby 指令碼如下所示
$ ./hello_world.rb
完成指令碼後,通常會建立一個 ~/bin 目錄,將此目錄新增到 PATH 中,並將已完成的指令碼移動到此處,以便在日常使用中執行。然後,你可以像這樣執行你的指令碼
$ hello_world.rb
如果你不想在 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,請按照以下步驟操作。
- 以 管理員 身份登入。
- 執行標準的 Windows“命令提示符”,
cmd。 - 在命令提示符(即 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”。