13 lines
369 B
Plaintext
13 lines
369 B
Plaintext
make "roman.rules [
|
|
[1000 M] [900 CM] [500 D] [400 CD]
|
|
[ 100 C] [ 90 XC] [ 50 L] [ 40 XL]
|
|
[ 10 X] [ 9 IX] [ 5 V] [ 4 IV]
|
|
[ 1 I]
|
|
]
|
|
|
|
to roman :n [:rules :roman.rules] [:acc "||]
|
|
if empty? :rules [output :acc]
|
|
if :n < first first :rules [output (roman :n bf :rules :acc)]
|
|
output (roman :n - first first :rules :rules word :acc last first :rules)
|
|
end
|