RustのIterator周り
用語
iterator
反復処理そのもの
iterable
item
iteratorが生成する値のこと
consumer
itemを受け取るコード
e.g. for
列の両側からアイテムを引き出せるやつ
.rev()
Vecをmoveしない
Vecをmoveする
これらは、traitで定義されたmethodではない
多くのコレクション型が独自に定義している
その型に対する自然なiteratorを返す
count
sum, product
max, min
max_by, min_by
max_by_key, min_by_key
any, all
position, rposition
rpositionは右からやる
find
fold
rfoldもあるらしい
nth
last
table:_
Haskell Rust 説明
null is_empty() 空かどうか確認
concat v.concat() ネストされた配列を平坦化
elem v.contains(&x) 要素が含まれるか確認
partition `v.iter().partition( x
groupBy `v.group_by( a, b
nub v.iter().unique() 重複を取り除く
replicate n x vec![x; n] 要素をn回繰り返したリストを生成
splitAt n v.split_at(n) 指定した位置でリストを分割
isPrefixOf v.starts_with(prefix) 指定されたリストが接頭辞か確認
isSuffixOf v.ends_with(suffix) 指定されたリストが接尾辞か確認