Skip to content

Rust:min,max

springroll edited this page Dec 14, 2019 · 2 revisions

min, max

Overview

std::cmp::min,std::cmp::maxは、2つの値を引数としてそれらの最小値、最大値を返す。
イテレータのメソッドmin,max関数は、イテレータ内の要素の最小値、最大値を求める。

Code

fn main(){
    let v: Vec<u32> = vec![1,2,3];
    println!("{:?}", v.iter().min());    // Some(1) (Option<T>型で返される)
    println!("{:?}", v.iter().min().unwrap());  // 1 (unwrapで剥がす)

    let s = String::from("firefox");
    println!("{:?}", s.chars().min());   // Some('e')

    println!("{}", min(2,4));                 // 2
    println!("{:?}", min([1,2,3],[1,2,4]));   // [1,2,3] (辞書順最小)
    println!("{:?}", min("abc","xyz"));       // "abc"  (辞書順最小)
    println!("{:?}", max(String::from("abc"), String::from("xyz")));  // "xyz" (辞書順最大)
}

Detail

Clone this wiki locally