は、それは割り当て、単一の式で比較するのが一般的です:式で代入と比較を組み合わせることはできますか? Cで
私は、このようルーストに表現することができることを理解したようn = n_init;
do {
func(n);
} while ((n = n.next) != n_init);
:Cバージョンと同じように機能し
n = n_init;
loop {
func(n);
n = n.next;
if n == n_init {
break;
}
}
(ループの本体がcontinue
を使用しないと仮定します)。
ルストでこれを表現するために、より簡潔な方法はありますか、理想的な上記の例ですか?この質問の目的のために
、所有権を引き受けるか、ボローチェッカーを満たすことは問題ではありません。これらの要件を満たすのは開発者次第です。 - 私は錆にループのこのスタイルのかなり多くを移動しているよしかし、私は
n = n_init;
loop {
func(&vec[n]);
n = vec[n].next;
if n == n_init {
break;
}
}
これは、錆の例は、慣用的な錆であることを明らかに思えるかもしれません:整数として例えば
、それを表現するためのより良い/異なる方法があるかどうかを知りたいと思った。
パターンをイテレータにラップすることを考えていますので、次のようにします: 'some_iter(n_init){func(n)}' –
完全な例を投稿してください。スニペットを投稿するたびに、関連するタイプが何であるかを推測する必要があります。彼らは 'コピー'ですか?彼らは何かの所有権を持っていますか?私たちは知らない!私たちは知らない! –
@Matthieu Mを表現することができるフロー制御のどのような種類に興味があります、それは他の側面からそらすため、私はむしろ私の質問の正確なタイプが含まれていない、とその部分は、私はむしろ自分自身を管理します。 – ideasman42