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