跳转至内容

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”。

华夏公益教科书