module pind.samples.ja.nested.nested_1; void outerFunc(int parameter) { int local; void nestedFunc() { local = parameter * 2; } struct NestedStruct { void memberFunc() { local /= parameter; } } class NestedClass { void memberFunc() { local += parameter; } } // このスコープ内のネストされた定義を使用する: nestedFunc(); auto s = NestedStruct(); s.memberFunc(); auto c = new NestedClass(); c.memberFunc(); } void main() { outerFunc(42); }