我有一些代码,它运行良好,完全符合我的要求:
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)