小编use*_*598的帖子

不知道如何避免重复代码

我有一些代码,它运行良好,完全符合我的要求:

            if condition1 {
                array1 += [array1[i-n]]
            } else {
                array1 += [Int (arc4random_uniform(7))]
                if array1[i] >= array1[i-n] {
                    array1[i] += 1
                }
            } //same logic, different condition and array
            if condition2 {
                array2 += [array2[i-n]]
            } else {
                array2 += [Int (arc4random_uniform(7))]
                if array2[i] >= array2[i-n] {
                    array2[i] += 1
                }
            }
Run Code Online (Sandbox Code Playgroud)

但我做了两次完全相同的事情,只是有不同的条件和不同的数组.如何避免重复逻辑?我尝试将其打包为两个元组的数组:

[ (condition1, array1) , (condition2, array2) ]
Run Code Online (Sandbox Code Playgroud)

我把它放在for循环中:

for tuple in [ (condition1, array1) , (condition2, array2) ] {
    var (condition, array) = tuple
    if condition …
Run Code Online (Sandbox Code Playgroud)

arrays swift

8
推荐指数
1
解决办法
178
查看次数

标签 统计

arrays ×1

swift ×1