【问题标题】:Step through range in D遍历 D 中的范围
【发布时间】:2013-06-21 20:56:19
【问题描述】:

有没有办法在 D 范围内创建一个步骤? 例如,在 python 中, 范围(1, 10, 2) 给我

        [1, 3, 5, 7, 9]

1 .. 10 以内的所有赔率

有没有办法在 D 中使用 foreach 做到这一点?

    foreach(x; 1 .. 10) {
 }

我知道我可以使用 iota(start, end, step),但我也想在开头添加一个 int,但我不知道如何将类型 Result 转换为 int。

【问题讨论】:

  • “在开头添加一个 int”是什么意思?而iota(1, 10, 2)的结果 int.
  • 我正在构建一个素数数组 -> iota(3, 16, 2)。我需要在开头附加一个 2。

标签: iteration range d


【解决方案1】:

chain([2],iota(3,16,2));

chain 懒惰地连接范围

或者您可以使用 filter!q{a==2||a&1}(iota(2,16)); 反过来

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-04-07
    • 2017-03-26
    • 1970-01-01
    • 2020-03-15
    • 2016-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多