質問: 宣言的または手続き的な場合、Dは「静的」ですか? 次のコードを考えてみましょう: ``` static if (!is(MyStruct)) { struct MyStruct { } } static if (is(MyStruct)) { static assert(0); } ``` 私の最初の理解は、*宣言の順序(グローバルスコープ内)は重要ではありません*。 しかし、この場合、 `static if` の順序は、プログラムがコンパイルされるかどうかの違いになります。 したがって、Dのコンパイル時の評価段階は、手続き的な機能(C/C ++のような)、宣言的な機能、または何か他のものですか?それは現在何ですか、そしてそれは何が計画されていますか(両者が異なる場合)? --- 編集: --- 私はちょうど、問題はここで終わらないことに気づいた。 `.tupleof` を使用して現在のモジュールのメンバーを列挙し、同じタイプの問題を作成する場合、`静的`
回答: 実装の副作用として手続き型のプロパティを持つ宣言的な機能です。