現在、不変であると文書化されていて、オブジェクトを変更するメソッドやメソッドを持っていない多くの値オブジェクトを持つ大きなシステムがあります。コードのいくつかの部分を書き直しながら、私は、クラスを不変であると文書化するだけでなく、不変であると宣言することが良い練習になると考えました。 ネストされたオブジェクトと値オブジェクトは、次のようになります。 immutable class Nested
Dでラインを範囲として読み取る方法は? Dに範囲があることは知っていますが、この概念を使用して文字列の各文字を単純に反復する方法は不思議です。私が後だものを表示するには 、移動中に同様のコードは次のとおりです。 for _, someChar := range someString {
// Do something
}
異なる構造体の(数値)フィールドをインクリメントする単一のテンプレート関数を記述できますか?例えば:私もタプルを受け入れる関数テンプレートを書いて試してみましたが、タプルは常に展開され、正しいテンプレートに一致するから、コンパイラを防止する T update(T, A)(T t, A a)
if (is(T == struct))
{
auto vals = t.tupleof;