, , , . . (Swift 2.0, Xcode 7 beta3).
let headings = ["Month ", "Rainfall", "RainDays", "Water Deficit"]
let months = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]
let rainFalls = [38, 94, 142,149,236,305,202, 82, 139, 222, 178, 103]
let rainyDays = [3, 6, 8,7,12,16,10, 8, 12, 14, 11, 7]
let waterDeficits = [38, -18, -8,-1,116,301,202, 82, 101, 203, 208, 103]
func getRightJustifiedStringRepFor(number: Int, refString:String) -> String
{
let length = refString.utf8.count
let stringRep = String(number)
var paddedStringRep : String = ""
for var i = 0 ; i < (length - stringRep.utf8.count) ; i++
{
paddedStringRep += " "
}
paddedStringRep += stringRep
return paddedStringRep
}
let headingsToDisplay = headings.reduce(""){
(var accummulated : String, item: String) -> String in
return accummulated + item + "\t\t\t"
}
print(headingsToDisplay)
let leftJustifiedMonths = months.map{
(var item: String) -> String in
let paddingsNeeded = 9 - item.utf8.count
for var i = 0 ; i < paddingsNeeded ; i++
{
item += " "
}
return item
}
print("\n")
for i in 0...11
{
print(leftJustifiedMonths[i], appendNewline:false)
print("\t\t\t", appendNewline:false)
print( (getRightJustifiedStringRepFor(rainFalls[i], refString: "Rainfall")), appendNewline:false)
print("\t\t\t", appendNewline:false)
print( (getRightJustifiedStringRepFor(rainyDays[i], refString: "RainDays")),appendNewline:false)
print("\t\t\t", appendNewline:false)
print( (getRightJustifiedStringRepFor(waterDeficits[i], refString: "Water Deficit")),appendNewline:false)
print("\n")
}
:
