タグ

2019年4月23日のブックマーク (1件)

  • Rustの便利なiter::from_fn

    イテレータの実装が容易になった 今までRustではIteratorトレイトを使うことで独自イテレータを実装していました。例えばstartとendというフィールドを持つMyRangeという構造体があるとします。この構造体にイテレータを実装する場合、以下のような方法で行っていました。 struct MyRange {start: i32, end: i32} impl Iterator for MyRange { type Item = i32; fn next(&mut self) -> Option<i32> { if self.start >= self.end { return None; } let result = Some(self.start); self.start += 1; result } } fn main() { let mut myrange = MyRange

    System
    System 2019/04/23