June 2018 Update

This commit is contained in:
Ingy döt Net 2018-06-22 20:57:24 +00:00
parent ba8067c3b7
commit 22f33d4004
5278 changed files with 84726 additions and 14379 deletions

View file

@ -1,12 +1,12 @@
function sprintfordinal{T<:Integer}(n::T)
const sfixes = ["st", "nd", "rd"]
0 <= n || throw(ArgumentError("number to be formatted must be ≥ 0, got $n"))
u = n%10
t = div(n, 10)%10
if 3 < u || u == 0 || t == 1
sf = "th"
function ordinal(n::Integer)
n < 0 && throw(DomainError())
suffixes = ("st", "nd", "rd")
u = n % 10
t = n ÷ 10 % 10
if u > 3 || u == 0 || t == 1
suf = "th"
else
sf = sfixes[u]
suf = suffixes[u]
end
@sprintf "%d%s" n sf
return string(n, suf)
end

View file

@ -1,24 +1,17 @@
println("Tests of ordinal formatting of integers.")
for (i, n) in enumerate(0:25)
if (i-1)%10 == 0
print("\n ")
end
print(@sprintf("%7s", sprintfordinal(n)))
(i - 1) % 10 == 0 && println()
@printf("%7s", ordinal(n))
end
println()
println()
for (i, n) in enumerate(250:265)
if (i-1)%10 == 0
print("\n ")
end
print(@sprintf("%7s", sprintfordinal(n)))
(i - 1) % 10 == 0 && println()
@printf("%7s", ordinal(n))
end
println()
for (i, n) in enumerate(1000:1025)
if (i-1)%10 == 0
print("\n ")
end
print(@sprintf("%7s", sprintfordinal(n)))
end
println()
for (i, n) in enumerate(1000:1025)
(i - 1) % 10 == 0 && println()
@printf("%7s", ordinal(n))
end