我在“The Ruby Programming Language”一书中阅读了有关此处的文档,但不了解此处文档的目的是什么,以及您何时将其用于生产代码。如果有人可以解释并给出一些用法示例,我会很高兴。
问候,
在任何支持它们的语言中,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,创建源的另一个选项是逐行指定它,这变得乏味并且可能容易出错(尤其是当您嵌入引号时)。