You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Swift中是否存在支持包含终点的stride(from:to:by:)等价方法?

包含结束值的Swift stride替代方案

Swift 里有直接对应「包含结束值」需求的 stride 变体——stride(from:through:by:),只需要把原方法的to参数换成through即可。

比如你想要生成包含0、5、10的序列,代码可以这么写:

print(stride(from: 0, through: 10, by: 5))

遍历这个序列就能得到你预期的0、5、10三个值。

补充两个 stride 方法的核心区别:

  • stride(from:to:by:):生成的序列不包含结束值,和你吐槽的「upToButNotIncluding」行为一致
  • stride(from:through:by:):生成的序列包含结束值(只要结束值能通过起始值累加整数倍步长到达)

如果步长无法刚好抵达结束值,through版本会包含最后一个不超过(步长为负时则是不低于)结束值的元素。比如stride(from:0, through:12, by:5)会生成0、5、10。

内容的提问来源于stack exchange,提问作者Duncan C

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 03:43:16