module pind.samples.ja.ranges.ranges_9; import std.array; import std.stdio; struct Reversed { int[] range; this(int[] range) { this.range = range; } bool empty() const { return range.empty; } int front() const { return range.back; // ← 逆 } int back() const { return range.front; // ← 逆 } void popFront() { range.popBack(); // ← 逆 } void popBack() { range.popFront(); // ← 逆 } } void main() { writeln(Reversed([ 1, 2, 3])); }