Ruby 编译与运行
Ruby 通常由解释器直接执行源码,irb 提供交互环境。MRI 会将源码转换为内部指令序列,但基础使用不需要先生成独立可执行文件。
确认解释器
bash
ruby --version
ruby -e 'puts RUBY_DESCRIPTION'
ruby -e 'puts RbConfig.ruby'最后一条显示当前 Ruby 可执行文件,有助于排查 mise、rbenv、系统 Ruby 与 PATH 冲突。
执行文件与表达式
hello.rb:
ruby
name = ARGV.fetch(0, 'world')
puts "Hello, #{name}"bash
ruby hello.rb Alice
ruby -e 'puts 2 + 3'
ruby -w hello.rb Alice-w 开启更多警告,适合检查小示例;警告不一定改变退出码,需要结合具体内容处理。
IRB 与标准输入
bash
irbIRB 中可以直接求值表达式,使用 exit 或 EOF 离开。脚本读取数据可使用 $stdin:
ruby
text = $stdin.read
puts text.upcasebash
ruby filter.rb < input.txt语法检查与退出码
bash
ruby -c hello.rb明确失败状态:
ruby
if ARGV.empty?
warn 'usage: ruby hello.rb <name>'
exit 2
end未捕获异常会打印调用栈并返回非零状态。LoadError 常由当前 Ruby、gem 安装目录、Bundler 上下文或 $LOAD_PATH 不一致造成;先确认 ruby 实际路径,不要在多个环境中重复安装同一 gem。
资料核对日期:2026-08-28。