RosettaCodeData/Task/Here-document/Retro/here-document-2.retro

20 lines
455 B
Plaintext

{{
: getDelimiter ( "-$ )
getToken keepString cr ;
: prepare ( -$ )
remapping off "" tempString ;
: readLine ( "-$ )
10 accept tib ;
: append? ( $$-$$f )
[ over ] dip compare [ 0 ] [ tib ^strings'append 10 ^strings'appendChar -1 ] if ;
---reveal---
: heredoc ( "-$ )
heap [ remapping [ getDelimiter prepare [ readLine append? ] while nip ] preserve ] preserve ;
}}
heredoc [END]
1 2 3
4 5 6
7 8 9
[END]