0

我正在将 ruby​​ 1.9.2 与 irb 一起使用,并且不断收到以下错误消息:

NameError: undefined local variable or method `ex1' for main:Object
from (irb):4
from /Users/flexmaster411/.rvm/rubies/ruby-1.9.2-p320/bin/irb:16:in `<main>' 

我也尝试拖放到 irb 然后我得到另一个参数错误代码。

Rodas-MacBook-Air:~ flexmaster411$ pwd /Users/flexmaster411
Rodas-MacBook-Air:~ flexmaster411$ cd Desktop
Rodas-MacBook-Air:Desktop flexmaster411$ cd my
Rodas-MacBook-Air:my flexmaster411$ ls
ex1.rb ex2.rb   test.html   test.rb  wacky.rb
Rodas-MacBook-Air:my flexmaster411$ irb
1.9.2-p320 :001 > ruby ex1.rb
NameError: undefined local variable or method ex1' for main:Object from (irb):1 from /Users/flexmaster411/.rvm/rubies/ruby-1.9.2-p320/bin/irb:16:in <main>' 
4

1 回答 1

3

所以你想做的是:

$ irb
001 > ruby ex1.rb

ruby命令本身就是一个程序,因此您应该ruby直接从命令行使用,如下所示:

$ ruby ex1.rb

这意味着“Ruby,请执行这个文件”,而irb它是一个REPL,直接等待 Ruby 语句。这意味着您可以像这样将您的 Ruby 代码直接输入到 irb 中:

$ irb
001 > puts "Hello, world!"
Hello, world!

或者您可以进入irb并加载文件的内容,然后尝试代码:

$ irb
001 > require './ex1'
于 2013-05-12T02:21:03.040 回答