24 lines
466 B
Plaintext
24 lines
466 B
Plaintext
func cardinal(n) {
|
|
static lingua_en = frequire("Lingua::EN::Numbers")
|
|
lingua_en.num2en(n) - / and|,/g
|
|
}
|
|
|
|
func four_is_magic(n) {
|
|
var str = ""
|
|
loop {
|
|
str += (cardinal(n) + " is ")
|
|
if (n == 4) {
|
|
str += "magic."
|
|
break
|
|
} else {
|
|
n = cardinal(n).len
|
|
str += (cardinal(n) + ", ")
|
|
}
|
|
}
|
|
str.tc
|
|
}
|
|
|
|
[0, 4, 6, 11, 13, 75, 337, -164, 9_876_543_209].each { |n|
|
|
say four_is_magic(n)
|
|
}
|