gpt4 book ai didi

Swift - 访问函数外部的变量

转载 作者:行者123 更新时间:2023-11-30 11:46:32 30 4
gpt4 key购买 nike

这里是新的,也是编码的新手(或者至少是尝试!)。我有一个我认为非常简单的问题。我在这里查看了答案Accessing variable outside function in Swift但我无法将其与我自己的示例相协调(可能是因为我是新手,抱歉!)

无论如何......这是我的代码,它只是试图计算你用 x 笔钱购买 x 箱牛奶可以获得多少零钱。一切正常,但最后我想使用函数内的变量打印摘要(我猜有一些重复/这有点毫无意义,但我只是想了解理论上如何做到这一点!)

所以...代码是...

//here i'm setting the function to calculate the total 
//price (they are £2 each) and the change I'm due

func getMilk(howManyMilkCartons : Int, howMuchMoneyPaid : Int) -> Int {
print("go to the shops")
print("buy \(howManyMilkCartons) milks")

let priceToPay = howManyMilkCartons * 2

print("pay £\(priceToPay)")
print("come home")

let change = howMuchMoneyPaid - priceToPay
return change

}

// here i'm setting the variables which inform how many milks
//i'm buying and how much money i'm using

var amountOfChange = getMilk(howManyMilkCartons : 2, howMuchMoneyPaid : 10)

print ("hello, your change is £\(amountOfChange)")

因此,在底部,我想做的是(仅用于学习)类似的内容,而不是仅进行少量更改的打印语句

“您好,您的零钱是(零钱)来自购买“X 盒牛奶”,成本为“X 英镑”,并且您支付了“X 金额”(即使用函数内部、函数外部的变量)函数 - 如果可能的话)

我知道这是一个巨大的菜鸟问题,很可能在我引用的问题中得到正确的涵盖,但我无法真正遵循这个示例,如果是这样的话,很抱歉!感谢您的帮助!

最佳答案

这是看待这个问题的另一种方式。如果您想要功能之外的信息,那么您很可能(在完整的程序中)希望将其作为您购买的连贯记录。

所以,考虑一下......

class MilkPurchase {
let cartons: Int
let paid: Int

var change = 0
var price = 0

init(cartonCount: Int, moneyPaid: Int) {
cartons = cartonCount
paid = moneyPaid
price = cartonCount * 2
change = paid - price
}

}

func purchaseMilk(howManyMilkCartons : Int, howMuchMoneyPaid : Int) -> MilkPurchase {
// Other logic perhaps
return MilkPurchase(cartonCount: howManyMilkCartons, moneyPaid: howMuchMoneyPaid)
}

let purchaseRecord = purchaseMilk(howManyMilkCartons: 3, howMuchMoneyPaid: 10)
print(purchaseRecord.change)

关于Swift - 访问函数外部的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48775157/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com