【问题标题】:ruby, unix and here documentsruby、unix 和这里的文档
【发布时间】:2011-12-11 20:06:15
【问题描述】:

所以我想知道如何在 ruby​​ 中处理此处的文档,例如,这是我程序中的主循环:

begin
    word = gets
    if word.nil?
        next
    end
    command = word.chomp.to_s
    print word
end until (word.eql? "EOI")

我通过 ./file <<EOI 运行它

但是,如果用户更改了用作终止字符串的内容,那么最后一行显然会失败。是否有一些全局变量可以让我检测用户指定为终止字符串的内容?如果没有,处理<<EOI 的最佳方式是什么?

谢谢大家。

示例输入:

hello

world
EOI

【问题讨论】:

    标签: ruby unix heredoc


    【解决方案1】:

    你为什么不只是循环直到word.nil?,如果用户发送EOFCtrl-d)也是这种情况?

    until (word = gets).nil?
      print word.chomp
    end
    

    【讨论】:

      猜你喜欢
      • 2013-07-29
      • 1970-01-01
      • 1970-01-01
      • 2011-07-12
      • 2020-07-14
      • 1970-01-01
      • 2020-02-03
      • 2011-08-05
      • 1970-01-01
      相关资源
      最近更新 更多