rust 中的 repeat_n
31 December, 2025 - Tags: TIL, Rust
最近在 mastodon 上看到有人詢問有什麼漂亮的方式可以避免多 clone 一次 MPSC 的 tx。
因為通常的 pattern 會是先建立一個 tx,然後用一個 for loop clone n 個額外的 tx。
但這樣跑完會讓原始的 tx 沒有用到然後就被 drop 掉造成浪費,原本發文者提到的解法是他會刻意只迭代 n - 1 次,然後在 for loop 外用原始的 tx 處理最後一次。
但其實 rust 在 stdlib 內就提供了漂亮的解法 std::iter::repeat_n,可以保證會恰好 clone n - 1 次。