首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无需使用crystal-lang按enter键即可从$stdin读取整行

无需使用crystal-lang按enter键即可从$stdin读取整行
EN

Stack Overflow用户
提问于 2017-07-20 21:06:45
回答 3查看 804关注 0票数 1

这是一个类似的问题,Read a single char from stdin without pressing enter

如何使用crystal-lang读取整行内容?我假设使用以下Ruby等效代码:

代码语言:javascript
复制
lines = $stdin.read
lines.each{|line| puts line}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-06-20 01:34:13

显然,相当于read的是STDIN.gets_to_end FWIW。

https://groups.google.com/forum/#!topic/crystal-lang/O4DExFHJc5E

票数 0
EN

Stack Overflow用户

发布于 2017-07-20 21:52:47

同样,您使用的是STDIN.raw,但这一次您希望使用IO#gets一次获取一行。最简单的方法是:

代码语言:javascript
复制
while line = STDIN.raw &.gets
  puts line
end

或者,您可以这样做:

代码语言:javascript
复制
STDIN.raw do |stdin|
  stdin.each_line do |line|
    puts line
  end
end
票数 2
EN

Stack Overflow用户

发布于 2017-07-21 00:51:23

要通过在线编译器使用此代码,请执行以下操作

我只是直接使用了STDIN

代码语言:javascript
复制
STDIN.each_line do |line|
  puts line
end
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45215658

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档