#!/usr/bin/ruby

#
## http://rosettacode.org/wiki/N'th
#

func nth(n) {
    static irregulars = Hash.new(<1 ˢᵗ 2 ⁿᵈ 3 ʳᵈ 11 ᵗʰ 12 ᵗʰ 13 ᵗʰ>...);
    n.to_s + (irregulars{n % 100} \\ irregulars{n % 10} \\ 'ᵗʰ');
}

[range(0, 25), range(250, 265), range(1000, 1025)].each { |r|
    say r.map {|n| nth(n) }.join(" ");
}
