[過去ログ]
Rust part15 (1002レス)
Rust part15 http://mevius.5ch.net/test/read.cgi/tech/1652347700/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
18: デフォルトの名無しさん [sage] 2022/05/15(日) 02:25:52.10 ID:/oKjcqbB >>16 そのclone()は不要 トレイト境界からCloneを外せる fn countup<T>(start: T) -> impl Iterator<Item=T> where T: TryFrom<usize> + num::CheckedAdd, { let one = T::try_from(1).ok().unwrap(); itertools::unfold(Some(start), move |n| { if let &mut Some(ref m) = n { let mut next = m.checked_add(&one); std::mem::swap(n, &mut next); next } else { None } }) } http://mevius.5ch.net/test/read.cgi/tech/1652347700/18
20: デフォルトの名無しさん [sage] 2022/05/15(日) 07:53:49.50 ID:SgXGf86o >>18 take()?でもっと簡潔に書ける fn countup<T>(start: T) -> impl Iterator<Item=T> where T: TryFrom<usize> + num::CheckedAdd, { let one = T::try_from(1).ok().unwrap(); itertools::unfold(Some(start), move |n| { let cur = n.take()?; *n = cur.checked_add(&one); Some(cur) }) } http://mevius.5ch.net/test/read.cgi/tech/1652347700/20
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
1.485s*