RosettaCodeData/Task/Middle-three-digits/Quackery/middle-three-digits.quackery
2023-07-01 13:44:08 -04:00

28 lines
644 B
Text

[ 1 & not ] is even ( n --> b )
[ over size -
space swap of
swap join ] is justify ( $ n --> $ )
[ abs number$
dup size dup 3 < iff
[ 2drop $ "too few digits" ]
done
dup even iff
[ 2drop $ "even digit count" ]
done
dup 3 = iff
drop done
3 - 2 /
tuck split nip
swap negate split drop ] is middle3 ( n --> $ )
' [ 123 12345 1234567
987654321 10001 -10001
-123 -100 100 -12345 1
2 -1 -10 2002 -2002 0 ]
witheach
[ dup number$ 9 justify echo$
say " --> "
middle3 echo$ cr ]