Here document: Difference between revisions

Content deleted Content added
Langurmonkey (talk | contribs)
Aerobar (talk | contribs)
added RPL
 
(5 intermediate revisions by 5 users not shown)
Line 515:
 
=={{header|EasyLang}}==
<syntaxhighlight lang=text>
# The here-document is not here, but at the end of the program
repeat
Line 591:
A. Rimbaud "Voyelles"
</pre>
 
=={{header|ed}}==
 
<syntaxhighlight lang="sed">
# by Artyom Bologov
a
here
doc
.
,p
Q
</syntaxhighlight>
 
{{out}}
 
<pre>$ ed -s < heredoc.ed
here
doc</pre>
 
=={{header|Elixir}}==
Line 1,219 ⟶ 1,237:
Use a block modifier on a string literal using the qs or QS form to generate a blockquote. The block modifier must be the last modifier.
 
<syntaxhighlight lang="langur">val .s = qs:block END
We put our text here.
Here we are, Doc.
Line 1,226 ⟶ 1,244:
Use the lead modifier to strip leading white space on each line.
 
<syntaxhighlight lang="langur">val .s = qs:lead:block END
We put our text here.
Here we are, Doc.
Line 1,233 ⟶ 1,251:
We can also use this with a regex literal. Note that this does not make the regex pattern "free-spacing." Use the x modifier for that.
 
<syntaxhighlight lang="langur">val .rer = re:block END
a regex pattern here
Still here, Doc.
END</syntaxhighlight>
 
<syntaxhighlight lang="langur">val .rer = re:x:block END
a free-spacing regex pattern here
Somewhere, Doc.
Line 1,435 ⟶ 1,453:
print s
 
</pre>
 
=={{header|PascalABC.NET}}==
<syntaxhighlight lang="delphi">
begin
var s := '''
Multiline
string
with apostrophes ' and ''
''';
Write(s);
end.
</syntaxhighlight>
{{out}}
<pre>
Multiline
string
with apostrophes ' and ''
</pre>
 
Line 1,909 ⟶ 1,945:
good mem
to come to the aid of their country.
</pre>
 
=={{header|RPL}}==
« "Hi
there" → heredoc
« heredoc "!" +
» » '<span style="color:blue">TASK</span>' STO
{{out}}
<pre>
1: "Hi
there!"
</pre>
 
Line 2,461 ⟶ 2,508:
WshShell.Popup "created " & strFileNameOUT, 3, "Completed", 64
</syntaxhighlight>
 
=={{header|Vim Script}}==
 
Vim ''does'' have here documents (:h [https://vimhelp.org/eval.txt.html#%3Alet-heredoc :let-heredoc]). A heredoc sets an internal variable to a list containing the lines of text bounded by an end marker string, which must start with an uppercase letter. Therefore, to output the exact literal input, you need to join the list, either with builtin function [https://vimhelp.org/builtin.txt.html#join%28%29 join()], as in example 1, below, or use another function that joins inherently, as in example 2, below, which uses [https://vimhelp.org/builtin.txt.html#append%28%29 append()].
 
'''Example 1''' - simple, literal heredoc
<syntaxhighlight lang="vim">
let hw =<< END
Hello
World
END
echo join(hw, "\n")
</syntaxhighlight>
 
{{out}}
<pre>
Hello
World
</pre>
 
'''Example 2''' - evaluated heredoc
<syntaxhighlight lang="vim">
let d58 = "5 6 7 8"
let d =<< eval DOZEN
1 2 3 4 {d58}
9 10 11 12
DOZEN
call append(line('$'), d)
</syntaxhighlight>
 
{{out}}
<pre>
1 2 3 4 5 6 7 8
9 10 11 12
</pre>
 
<small>NB: The output of example 2 is appended to the end of the current buffer if [https://vimhelp.org/repeat.txt.html#%3Asource-range '<,'>so] is executed on the visual selection from the lines starting "let d58" to "call append".</small>
 
=={{header|V (Vlang)}}==