28 lines
644 B
Text
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 ]
|