Skip to content

Proverb

概要

  • Vecを受け取り、それに合わせてStringを作成する

初期コード

pub fn build_proverb(list: &[&str]) -> String {
todo!()
}

考察

  • listが emptyか否かで処理を分ける。
  • 最後にlist[0]を使うので、Some(word)として受け取るときれいにかける

学んだこと

  • list.is_empty()list[0] == None が同値である

chainメソッドの使い方

let a1 = [1, 2, 3];
let a2 = [4, 5, 6];
let mut iter = a1.iter().chain(a2.iter());
assert_eq!(iter.next(), Some(&1));
assert_eq!(iter.next(), Some(&2));
assert_eq!(iter.next(), Some(&3));
assert_eq!(iter.next(), Some(&4));
assert_eq!(iter.next(), Some(&5));
assert_eq!(iter.next(), Some(&6));
assert_eq!(iter.next(), None);

onceメソッドの使い方

  • once in std::iter - Rust

  • 引数を一度だけ返すイテレータを生成する

  • 基本的に chainと組み合わせて使うことになるだろう