В любом языке, который поддерживает них, 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, другой вариант, чтобы сделать источник, чтобы указать его по очереди, что становится утомительным и потенциально подверженным ошибкам (особенно когда у вас есть встроенные кавычки).
Спасибо, за вашу помощь. – Ikaso
Они отлично работают для простых встроенных шаблонов, похожих на шаблон ERB. Они не такие гибкие, но иногда это всего лишь билет. –