我正在尝试运行这个简单的程序:
puts " Hello, what's you're name?"
name = gets.chomp
puts 'Hello,'+ '' + name+ '.'
if name =='Chris'
puts 'What a lovely name!'
end
但我一直收到输出错误:
1.9.3-p392 :003 > ruby exerise72.rb
NameError: undefined local variable or method `exerise72' for main:Object
from (irb):3
from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/railties-3.2.12/lib/rails/commands/console.rb:47:in `start'
from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/railties-3.2.12/lib/rails/commands/console.rb:8:in `start'
from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/railties-3.2.12/lib/rails/commands.rb:41:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'
我不明白什么是错的。
答案 0 :(得分:2)
您正尝试在Rails控制台中为shell发出命令。键入quit
,然后按返回或输入退出并返回正常的shell提示符。
然后你可以尝试:
ruby exerise72.rb
了解操作系统shell和IRB / Rails控制台之间的区别以及最终的其他任何shell或命令行界面非常重要非常重要。它们非常强大,并且不知道你在做什么,或者你在做什么,这是一个随机混乱你的磁盘,丢失文件和意外删除东西的好方法。
答案 1 :(得分:1)
在ruby控制台外执行ruby
命令。 ruby控制台(irb)用于执行内联命令。如果要执行完整的脚本(exerise72.rb
程序),则必须以cmd,bash或类似方式执行。