c*******9 发帖数: 9032 | 1 class BankAccount {
var balance: Double = 0.0
func deposit(amount: Double) {
balance += amount
}
}
let account = BankAccount()
account.deposit(100)
BankAccount.deposit(account)(100)
let depositor = BankAccount.deposit
depositor(account)(100)
//
account.balance //210
func depositor(account:BankAccount)(_ amount: Double){
account.balance += amount*0.1
}
depositor(account)(120)
account.balance //222 |
l******g 发帖数: 366 | |
c*******9 发帖数: 9032 | 3 你试试,完全正确的语法。
【在 l******g 的大作中提到】 : 没有编译错误?
|
i*****o 发帖数: 1714 | 4 这段程序很正常的,结果也是预料之中,你到底哪行有疑问?
★ 发自iPhone App: ChineseWeb 1.0.2
【在 c*******9 的大作中提到】 : 你试试,完全正确的语法。
|
c*******9 发帖数: 9032 | 5 BankAccount.deposit(account)(100)
let depositor = BankAccount.deposit
depositor(account)(100)
第一行和第二行调的不一样,虽然 depositor == BankAccount.deposit
【在 i*****o 的大作中提到】 : 这段程序很正常的,结果也是预料之中,你到底哪行有疑问? : : ★ 发自iPhone App: ChineseWeb 1.0.2
|
i*****o 发帖数: 1714 | 6 depositor is the func below. the func depositor has higher priority over the
let depositor.
★ 发自iPhone App: ChineseWeb 1.0.2
【在 c*******9 的大作中提到】 : BankAccount.deposit(account)(100) : let depositor = BankAccount.deposit : depositor(account)(100) : 第一行和第二行调的不一样,虽然 depositor == BankAccount.deposit
|