迅速针对不同“流路径”的嵌套函数技术

问题描述

我正在学习面向对象的东西,并尝试将嵌套函数合并到我的代码中,以便我可以了解这些不同的操作如何进行工作,特别是嵌套函数。 我想将值从一个函数传递到另一个函数,然后根据每个嵌套函数的计算结果,输出某些最终数字。我无法理解如何在方法内部获取和重新声明返回值,以便可以再次使用它们。

粗单嵌套示例:

func increaseNumbers(numOne: Double,numTwo: Double) -> (Double,Double) {
var numOneIncreased = numOne + 2
var numTwoIncreased = numTwo + 5

    func playWithNumbersMore(warpOne: Double,warpTwo: Double) -> (Double,Double) {
    if warpOne < 50 {
    var adjustedOne = warpOne + 16.5
    var adjustedTwo = warpTwo + 20.8
    } else { do nothing... }
        return (adjustedOne,adjustedTwo)
    }

playWithNumbersMore(warpOne: numOneIncreased,warpTwo: numTwoIncreased)
// How do i re-assign the return values inside playWithNumbersMore?

return (something,somethingTwo)
}

如果可以的话,这是我想做的:

func increaseNumbers(numOne: Double,adjustedTwo)
    }

// I want to be able to take return values and do more with them... as well as redefine them 
// on completion of final "parent function"

// Sort of like this:
var newNumbToPlayOne = adjustedOne
var newNumbToPlayTwo = adjustedTwo

func playMoreWithNewNumbers...

}

这可能吗?还是我偏离正常轨道?

解决方法

func increaseNumbers(numOne: Double,numTwo: Double) -> (Double,Double) {
var numOneIncreased = numOne + 2
var numTwoIncreased = numTwo + 5

    func playWithNumbersMore(warpOne: Double,warpTwo: Double) -> (Double,Double) {
    if warpOne < 50 {
    var adjustedOne = warpOne + 16.5
    var adjustedTwo = warpTwo + 20.8
        return (adjustedOne,adjustedTwo)
    }

let result = playWithNumbersMore(warpOne: numOneIncreased,warpTwo: numTwoIncreased)
        numOneIncreased = result.0 // result.0 is a adjustedOne
        numTwoIncreased = result.1 // result.1 is a adjustedTwo

return result
}

这是如何使用playWithNumbersMore数据的结果。 我错了吗?或者这是寻找的东西吗?