エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
記事へのコメント1件
- 注目コメント
- 新着コメント
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
Rustのimpl trait - Qiita
RustでIteratorやクロージャーなどのtraitを返す関数を作ろうとするとハマります。 Rustの関数は帰り値... RustでIteratorやクロージャーなどのtraitを返す関数を作ろうとするとハマります。 Rustの関数は帰り値はスタック上のサイズを知る必要があります。 つまりRustの関数は具象型しか返せません。 traitとか返せないわけです。 どうしてもtraitを関数から返したい場合はBoxなどに包んでやる必要があります 特にクロージャーtraitは具象型をユーザーが書くのは不可能なのでクロージャー返したい場合はどうしてもBoxで包む必要がありました fn count(n: u32) -> Box<FnMut() -> u32> { let mut num = n; Box::new(move || {num += 1; num}) } fn main() { let mut counter = count(0); println!("{}", counter()); //1 printl
2017/08/07 リンク