我正在运行学习Ruby的艰难之路exercise 14。如果我在cmd中运行脚本它工作正常,但我一直在使用Cygwin因为它更好。当我使用此命令在cygwin中运行它时:
ruby ex14.rb Devon
我得到以下输出
test
one
two
Hi Devon, I'm the ex14.rb script.
I'd like to ask you a few questions.
Do you like me Devon?
> Where do you live Devon?
> What kind of computer do you have?
> Alright, so you said test about liking me.
You live in one. Not sure where that is.
And you have a two computer. Nice.
也就是说,该程序启动并立即运行三个STDIN.gets.chomp()
命令,一旦它完成所有内容puts
和prints
一次。
有没有办法解决这个问题?我显然希望按照它们编写的顺序运行这些行。我不确定谷歌会出现这种类型的错误 - “cygwin”,“ruby”,“输出延迟”和“失序”的组合没有任何相关性。无论如何,这些搜索词似乎含糊不清。
到底发生了什么,是否有解决方案?
答案 0 :(得分:0)
我认为这与dos和unix之间的CR LF差异有关。 试试这个...
set -o igncr
在运行脚本之前。