红宝石的目的或文件是什么?

Ika*_*aso 4 ruby heredoc

我在这里阅读了"Ruby编程语言"一书中的文档,并且不明白这里文档的目的是什么,以及何时将它用于生产代码.如果有人可以解释并提供一些使用示例,我会很高兴.

问候,

Mar*_*off 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
Run Code Online (Sandbox Code Playgroud)

除了heredoc之外,制作源代码的另一个选择是逐行指定它,这变得乏味且可能容易出错(特别是当你有嵌入式引号时).