Closed5

Rustの便利メソッド整理

Yunosuke YamadaYunosuke Yamada

std::option::Option

  • as_ref: &Option<T>Option<&T>に変換する
  • as_mut: &mut Option<T>Option<&mut>に変換する
  • unwarp_or: Someの中身を取り出す。Noneの場合は引数で渡した値を返す
  • map: Someの中身に関数を適用する
  • ok_or: Option<T>Result<T, E>に変換する
  • as_deref: Someの中身をderefする
  • and_then: Someの中身にOptionを返す関数を適用し、flatする
  • copied, cloned: Option<&T>に対してcopy, cloneをしてOption<T>に変換する
  • transpose: Option<Result<T,E>>Result<Option<T>,E>に変換する
  • flatten: Option<Option<T>>Option<T>にする
Yunosuke YamadaYunosuke Yamada

std::result::Result

  • ok: Result<T,E>Option<T>に変換する
  • as_ref: &Result<T,E>Result<&T,&E>に変換する
  • as_mut: &mut Result<T,E>Result<&mut T,&mut E>に変換する
  • map: Result<T, E>Result<U, E>に変換する
  • as_deref, as_deref_mut
  • unwrap_or: Okの中身を取り出す。Errの場合は引数で渡した値を返す
  • copied, cloned: Result<&T,E>をcopy, cloneしてResult<T,E>に変換する
  • transpose: Result<Option<T>,E>Option<Result<T,E>>に変換する
  • flatten: Result<Result<T,E>,E>Result<T,E>に変換する
Yunosuke YamadaYunosuke Yamada

std::vec::Vec

  • append, concat: Vec同士の結合
  • clear: 空にする
  • insert: 指定した場所に追加
  • remove: 指定した場所から削除
  • into_flatten, as_flatten: flatten
  • pop: 末尾から取り出す
  • push: 末尾に追加
  • retain: filter
  • contains: 値を含むか
Yunosuke YamadaYunosuke Yamada

std::collections::HashMap

  • clear
  • contains_key
  • get
  • insert
  • keys
  • remove:
  • retain: filter
  • values
Yunosuke YamadaYunosuke Yamada

std::iter::Iterator

  • all: 全ての要素が述語を満たすか
  • any: 述語を満たす要素があるか
  • filter
  • find
  • flatten
  • fold
  • map
  • position: 述語を満たす要素の位置を返す
  • reduce
このスクラップは18日前にクローズされました