func tierMailFee (weight:Int) -> Int
{
return 2*weight
}
func tierMailFee2 (weight:Int) -> Int
{
return 6*weight;
}
func chooseMailFeeCalculateMethod( weight:Int) -> (Int)->Int
{
return weight<=10 ? tierMailFee : tierMailFee2
}
func totalPrice( price:Int, weight:Int ) -> Int
{
let mailFeeCalculate:(Int) -> Int = chooseMailFeeCalculateMethod(weight)
return mailFeeCalculate(weight) //+ price*weight
}
totalPrice(3, weight: 11)
func payTax (salary:Float) -> Float
{
return 3500*0.2
}
func secodPayTax (salary:Float) -> Float
{
return payTax(3500) + (salary-3500)*0.5
}
func totalPayTax (salary:Float) -> (Float)->Float
{
if salary < 3500 {
return payTax
}
else {
return secodPayTax
}
}
func showPayTax (salary:Float) -> Float
{
let totalTax = totalPayTax(salary)
return totalTax(salary)
}
showPayTax(10000)