Textmate + ruby​​ chomp问题

时间:2011-07-04 22:58:16

标签: ruby textmate

  

可能重复:
  Why isn't 'gets' working in my Ruby script when I run from TextMate?

我试图运行一个文件(p015elsifex.rb)

在Mac上使用Textmate(Snow Leopard)。

当我尝试运行代码时,出现错误,内容如下: NoMethodError:私有方法'chomp'调用nil:NilClass 位于p015elsifex.rb第6行的顶层

所以它到达第6行,而不是要求键盘输入,它就退出了。

以下是代码:

#elsif example

#Original example
puts "Hello, what's your name?"
STDOUT.flush
name = gets.chomp
puts 'Hello, ' + name + '.'

if name == 'Satish'
puts 'What a nice name!!'
else
  if name == 'Sunil'
   puts 'Another nice name!'
  end
end

# Modified example with elsif
puts "Hello, what's your name?"
STDOUT.flush
name = gets.chomp
puts 'Hello, ' + name + '.'

if name == 'Satish'
  puts 'What a nice name!!'
elsif name == 'Sunil'
   puts 'Another nice name'
end

# Further modified
puts "Hello, what's your name?"
STDOUT.flush
name = gets.chomp
puts 'Hello, ' + name + '.'

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

Terminal窗口中运行程序,而不是在TextMate中运行。作为后台任务,它显然没有标准输入。

我相信你最终可以让TextMate配置成你想做的,但现在只是保持简单。