我正在使用带有irb的ruby 1.9.2并且我不断收到以下错误消息:
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>'
答案 0 :(得分: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'