当我从TextMate运行时,为什么“获取”不能在我的Ruby脚本中工作?

运行以下ruby脚本时:

puts gets.inspect

在终端上我被提示输入然后显示inspect输出,但是如果我使用CMD+R快捷方式从TextMate内部运行相同的脚本,那么它只输出nil ,好像没有gets方法。

为什么是这样? 从我所看到的内容,当脚本请求STDIN的输入时,TextMate应该显示一个输入对话框,但在这种情况下不会发生这种情况。

看到这篇博客文章 ; 大概是你在雪豹?

从评论中,一些用户说这个文件在Snow Leopard上有效。 根据@dmarkow的回答,将此文件复制到:
/Applications/TextMate.app/Contents/SharedSupport/Support/lib/
您可能希望保留文件的副本,因为TextMate的更新可能会替换它。

具体来说,您需要在以下路径中复制由Phrogz链接的tm_interactive_input.dylib文件:

 /Applications/TextMate.app/Contents/SharedSupport/Support/lib/tm_interactive_input.dylib 

请记住,任何TextMate更新都可能会覆盖或删除此文件。