使用管道时ruby捕获输入

ruby capture input when using pipes

我有一个通过管道运行的脚本,它似乎不想捕获用户输入。

这是最简单的例子:

1
2
  echo"gets.chomp" | ruby
 -:1: private method `chomp' called for nil:NilClass (NoMethodError)

目标是确认操作(您确定要执行此操作吗?是/否:)。使用管道时如何捕获输入?


io.new stdin(io.sysopen美元=("/ dev / TTY,R,R))