【发布时间】:2016-08-11 16:18:27
【问题描述】:
如果我有两个未知值,比如说x 和y,那么循环遍历这些值之间between 的所有值的最佳方法是什么?
例如,给定值 x = 0 和 y = 5,我想对值 0、1、2、3、4 和 5 做一些事情。如果这样更简单,结果可以排除 0 和 5。
使用 Swift 的 Range 运算符,我可以做这样的事情:
for i in x...y {
// Do something with i
}
除了我不知道x 或y 是更大的价值。
范围运算符的Swift documentation 声明:
封闭范围运算符 (
a...b) 定义从a到b的范围,并包括值a和b。a的值不能大于b。
这里有很多解决方案。一个非常直接的方法是:
let diff = y - x
for i in 0...abs(diff) {
let value = min(x, y) + i
// Do something with value
}
有没有更好或更优雅的方法来实现这一点?
【问题讨论】: