General FizzBuzz: Difference between revisions
Content added Content deleted
m (→{{header|REXX}}: reinstituted deleted text again.) |
m (→{{header|AWK}}: Print() to redirect status-messages to stderr) |
||
Line 66: | Line 66: | ||
<lang awk># usage: awk -f fizzbuzzGen.awk > fizzbuzzCustom.awk |
<lang awk># usage: awk -f fizzbuzzGen.awk > fizzbuzzCustom.awk |
||
# |
# |
||
function Print(s) { |
|||
⚫ | |||
print s > "/dev/stderr" |
|||
} |
|||
⚫ | |||
q2 = "\"" |
q2 = "\"" |
||
fN = "numbers.txt" |
fN = "numbers.txt" |
||
Line 72: | Line 75: | ||
} |
} |
||
NF==1 { |
NF==1 { Print( "# " $1 " Numbers:" ) |
||
for( i=1; i <= $1; i++ ) |
for( i=1; i <= $1; i++ ) |
||
print( i ) > fN |
print( i ) > fN # (!!) write to file not allowed in sandbox at ideone.com |
||
Print( "# Custom program:" ) |
|||
print "BEGIN {print " q2 "# CustomFizzBuzz:" q2 "}" |
print "BEGIN {print " q2 "# CustomFizzBuzz:" q2 "} \n" |
||
next |
next |
||
} |
} |
||
NF==2 { |
NF==2 { Print( "# " $1 "-->" $2 ) ## |
||
print "$1 % "$1" == 0 {x = x "q2 |
print "$1 % "$1" == 0 {x = x "q2 $2 q2 "}" |
||
next |
next |
||
} |
} |
||
END { |
END { print "" |
||
print "!x {print $1; next}" |
print "!x {print $1; next}" |
||
print " {print " q2 " " q2 ", x; x=" q2 q2 "}" |
print " {print " q2 " " q2 ", x; x=" q2 q2 "}" |
||
print " |
print " \nEND {print " q2 "# Done." q2 "}" |
||
Print( "# Done." ) |
|||
}</lang> |
}</lang> |
||