パーソナルブログメモリ

a = [1, 1]
for _ in "*" * 999: a += [sum(a[-2:])]
print(a)

Rust 5日目 vec!の同じ要素をcountしてみる

2020-06-04 | Rust 9日坊主

それっぽいのがわからなかったので、自作した完成形がこちら

いろいろなところに&が入っています

 

*Rust 1.43.1で実行しています

 

失敗形がこちら

1つ取得してOKとおもって

もう1つ追加したらdataの所有権がvec_countの方に移って消滅

2度めは ないよということをエラーメッセージが物語ってくれています

 

素早く片付けるというのがこの言語の方針のようです

 

文字列も追加作成してみました

 

ソースリスト

fn vec_count(v: &[i32], n: i32) -> i32{
    let mut r = 0;
    for i in v{
        if i == &n{
            r = r + 1;
        }
    }    
    r
}

fn vec_count_str(v: &[&str], s: &str) -> i32{
    let mut r = 0;
    for i in v{
        if i == &s{ //&s sだとエラーに
            r = r + 1;
        }
    }    
    r
}

fn main() {
    let data = vec![1, 2, 3, 4, 5, 1, 9, 9, 9];
    println!("{}", vec_count(&data, 9));
    println!("{}", vec_count(&data, 1));
    
    let data_str = vec!["1", "2", "3", "4", "5", "1", "A", "9", "9"];
    println!("{}", vec_count_str(&data_str, "9"));
    println!("{}", vec_count_str(&data_str, "1"));
    println!("{}", vec_count_str(&data_str, "A"));
}


最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。