新手问题 同样的代码,可以在终端中运行但是在 ST3 中却被报错,想请教下原因。另外求一些好用的 ST3 上 Ruby 的插件。

hanyangwang · 2015年03月06日 · 最后由 hanyangwang 回复于 2015年03月06日 · 2279 次阅读

我是刚开始学习 Ruby 的新人,再跟着 Learn Ruby The Hard Way 学习中。做练习的时候发现这段代码无法在我的 ST3 中运行,想请教下诸位这个问题可能的原因以及解决办法,谢谢~

饿 你确定 Sublime 没有关掉 stdin 么?

#1 楼 @iBachue 请问一下 stdin 是什么呢?我应该没有关闭过这种我不熟悉的东西啊

此时的getsnil,所以找不到chomp方法

#3 楼 @dingjop 啊明白了!谢谢~还想问一下您,那我如何能在 ST 中运行这段代码呢?还是最好用终端打开这个文件呢?

#3 楼 @dingjop 还是说因为 ST 只是个编辑器所以根本没办法运行呢?

#4 楼 @hanyangwang 不知道怎么 ST 中运行这个,大部分是在终端下执行

#6 楼 @dingjop 谢谢~我换成 RubyMine 正常运行了

#2 楼 @hanyangwang 学 Ruby 的话 UNIX 基础是一定要掌握的 http://en.wikipedia.org/wiki/Standard_streams 。不一定是你关掉了它,Sublime 有可能会关掉或者重定向到/dev/null 去,这样你的 stdin 肯定收不到任何输入的,返回 nil 也就可以理解了。

#8 楼 @iBachue 谢谢!我研究研究去~对于新人,想学 Unix 的话您有任何推荐吗?

#9 楼 @hanyangwang 鸟哥的书入门是最简单的 http://linux.vbird.org/linux_basic/ 当然 UNIX 深入学习的话其实比 Ruby 还难 http://man7.org/tlpi/ http://www.apuebook.com/

#10 楼 @iBachue 谢谢推荐!鸟哥那本书我只粗看过前半部分,看来真需要深入学学。

推荐你使用一个 sublime 插件:SublimeREPL

#14 楼 @huopo125 谢谢~您是直接在 sublimeREPL 里面用 Ruby-IRB 模式直接复制代码进去使用嘛?

#15 楼 @hanyangwang 这个插件只是 sublime 下一些语言的命令行模式,和你直接在 irb 中操作是一样的,你可以通过https://packagecontrol.io/查找需要的插件

SublimeREPL - run an interpreter inside ST2 (Clojure, CoffeeScript, F#, Groovy, Haskell, Lua, MozRepl, NodeJS, Python + virtualenv, R, Ruby, Scala...)

需要 登录 后方可回复, 如果你还没有账号请 注册新账号