RosettaCodeData/Task/Nth/Lambdatalk/nth.lambdatalk
2023-07-01 13:44:08 -04:00

19 lines
704 B
Text

{def fnOrdinalForm
{lambda {:n}
{if {and {<= 11 {% :n 100}} {>= 13 {% :n 100}}}
then :nth
else :n{A.get {% :n 10} th st nd rd th th th th th th}}}}
-> fnOrdinalForm
{S.map fnOrdinalForm {S.serie 0 25}}
-> 0th 1st 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th
16th 17th 18th 19th 20th 21st 22nd 23rd 24th 25th
{S.map fnOrdinalForm {S.serie 250 265}}
-> 250th 251st 252nd 253rd 254th 255th 256th 257th 258th 259th 260th
261st 262nd 263rd 264th 265th
{S.map fnOrdinalForm {S.serie 1000 1025}}
-> 1000th 1001st 1002nd 1003rd 1004th 1005th 1006th 1007th 1008th 1009th 1010th
1011th 1012th 1013th 1014th 1015th 1016th 1017th 1018th 1019th 1020th
1021st 1022nd 1023rd 1024th 1025th