如何使用功能重构方法并避免可变状态Swift

时间:2018-07-20 06:20:22

标签: swift functional-programming higher-order-functions

我正在使用此方法进行数学计算,而我正在使用可变数组。但是我读过一些文章,在这些文章中,我们应尽量避免发生可变状态。当涉及到重构使用的高阶函数时,例如使用旧式的reduce,map或filter。

func computeEpisodesCount() {
    if episodesCount > 0 {
        let count = episodesCount % eposidesPageLimit
        numberOfEpisodes = episodesCount / eposidesPageLimit
        if count > 0 {
            numberOfEpisodes += 1
        }

        for i in 0 ... numberOfEpisodes {
            if count > 0 && i == numberOfEpisodes - 1 {
                eposidesList.append("E\((i * eposidesPageLimit) + 1)-\(episodesCount)")
            } else {
                eposidesList.append("E\((i * eposidesPageLimit) + 1)-\((i+1) * eposidesPageLimit)")
            }
        }
        selectedEpisode = eposidesList.first
    }
}

0 个答案:

没有答案