スライスとその他の配列機能

先頭からスライスを消費して要素を反復処理することは、興味深い概念だ。この方法は、後の章で説明するPhobosの範囲の基礎にもなっている。

import std.stdio;

void main() {
    double[] array = [ 1, 20, 2, 30, 7, 11 ];

    double[] slice = array;    // 配列のすべての要素に
                               // アクセスできるスライスから
                               // 開始する

    while (slice.length) {     // そのスライスに少なくとも
                               // 1つの要素がある限り

        if (slice[0] > 10) {   // 式では常に最初の要素を
            slice[0] /= 2;     // 使用する
        }

        slice = slice[1 .. $]; // スライスの先頭から
                               // スライスを短縮する
    }

    writeln(array);            // 実際の要素は
                               // 変更される
}
D
slices.solution.1