4

我在“The Ruby Programming Language”一书中阅读了有关此处的文档,但不了解此处文档的目的是什么,以及您何时将其用于生产代码。如果有人可以解释并给出一些用法示例,我会很高兴。

问候,

4

1 回答 1

8

任何支持它们的语言中,heredoc都是制作大字符串文字的便捷方式。

使用以下人为设计的 Ruby 脚本,该脚本使用您的姓名并输出 C 程序的源代码,该程序会告诉您您好:

#!/usr/bin/env ruby
name = $*[0]

unless name
  $stderr.puts "Please supply a name as the first argument to the program"
  exit 1
end

source = <<EOF
#include <stdio.h>

int main()
{
    puts("Hello, #{name}!");
    return 0;
}
EOF

puts source

除了heredoc,创建源的另一个选项是逐行指定它,这变得乏味并且可能容易出错(尤其是当您嵌入引号时)。

于 2010-10-29T16:16:21.673 回答