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
_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) | 指定されたリストが接尾辞か確認 |