Selective file copy: Difference between revisions
add ooRexx
Walterpachl (talk | contribs) (Expand task description) |
Walterpachl (talk | contribs) (add ooRexx) |
||
Line 6:
<br>The ''by name'' assignment is a little extra available in PL/I.
<br>Data conversions may be necessary (as shown here for data element ''c''.
=={{header|ooRexx}}==
<lang oorexx>/* REXX */
infile ="in.txt"
outfile="out.txt"
s1=.copys~new(infile,outfile)
loop i=1 to 5
s1~~input~~output
end
s1~close -- close streams (files)
'type' outfile
::class copys
::attribute a
::attribute b
::attribute c
::attribute d
::method init -- constructor
expose instream outstream
parse arg infile, outfile
instream =.stream~new(infile)~~open
outstream=.stream~new(outfile)~~open("replace")
::method input -- read an input line
expose instream a b c d
parse value instream~linein with a +5 b +5 c +5 d +5
::method output -- write an output line
expose outstream a c
outstream~lineout(a || c~c2x~left(2)'XXXXX')
::method close -- close files
expose instream outstream
instream~close
outstream~close</lang>
{{out}}
<pre>AA 01XXXXX
AAA 02XXXXX
AAAA 03XXXXX
AAAAA04XXXXX
AAAAA05XXXXX</pre>
=={{header|PL/I}}==
|