这是一个类似的问题,无需按回车键即可从 stdin 读取单个字符
如何用水晶朗阅读整行?我假设使用以下 Ruby 等效代码:
lines = $stdin.read
lines.each{|line| puts line}
同样,您使用STDIN.raw
但这次您想使用IO#gets
一次获取一整行。最简单的方法是:
while line = STDIN.raw &.gets
puts line
end
或者,您可以这样做:
STDIN.raw do |stdin|
stdin.each_line do |line|
puts line
end
end
将此代码与联机编译器一起使用
我只是直接使用STDIN的
STDIN.each_line do |line|
puts line
end
显然read
的等价物是STDIN.gets_to_end
FWIW。
https://groups.google.com/forum/#!topic/crystal-lang/O4DExFHJc5E