仅用于一个输入的Ruby多行输入

Mil*_*e12 4 ruby input

我有一个小程序,我正在努力,我希望用户能够输入潜在的多行响应.

我找到了这个例子

$/ = "END"
user_input = STDIN.gets
puts user_input
Run Code Online (Sandbox Code Playgroud)

但是这使得所有输入都需要END关键字,我只需要一个输入.

如何只为一个输入生成多行输入?

Ant*_*ony 9

IO#gets有一个可选参数,允许您指定分隔符.这是一个例子:

puts "Enter Response"
response = gets.chomp

puts "Enter a multi line response ending with a tab"
response = gets("\t\n").chomp
Run Code Online (Sandbox Code Playgroud)

输出:

Enter Response
hello
Enter a multi line response ending with a tab
ok
how
is
this
Run Code Online (Sandbox Code Playgroud)

  • 好一个.我不知道那件事.也许用[IO#gets]替换"获取......"(http://www.ruby-doc.org/core-2.2.0/IO.html#method-i-gets)有......". (2认同)