週末なので、私を幸せにしてくれる何かを学ばなければなりません。
Rust言語は非常に新しく、その性能はC++を超え、組み込みプログラミングにも対応していると聞き、将来有名になるであろうコードエンジニアとして見逃すわけにはいきません。それで先週から言語を学び始めました。
この本に従って、私は最初の小さなプログラム、guess_number を完成させました (何? これは「hello world」ではありません??)。プログラムをランダムに生成し、テンプレートは helloworld であり、それを記述する必要はまったくありません。 hello world の出力速度に関しては、Rust では 2 つの命令だけが必要で、これは非常に強力です。
まずコードに移動して、以下を確認してください。
use std::io;
use std::cmp::Ordering;
use rand::Rng;
fn main() {
println!("Guess the number!");
let secret_number=rand::thread_rng().gen_range(1,101);
//println!("The secret number is:{}",secret_number);
loop{
println!("Please input your guess");
let mut guess = String::new();
io::stdin().read_line(&mut guess).expect("Failed to read line");
//let guess:u32 = guess.trim().parse().expect("Please type a number!");
let guess:u32 = match guess.trim().parse() {
Ok(num) => num,
Err(_) => continue,
};
println!("You guessed:{}",guess);
match guess.cmp(&secret_number)
{
Ordering::Less => println!("Too small!"),
Ordering::Greater => println!("Too big!"),
Ordering::Equal => {
println!("You win!");
break;
}
}
}
}
このコードを書くのにdev C++を使いましたが、特別なエディタはないそうですが、後でメモ帳を試してみます-この国産のソフトを書くのはどんな感じですか?
上記のコードでの使用法は、ヘッダー ファイルのインクルードを省略した C++ と Python の組み合わせのように感じられ、使用されるクレートは Python パッケージに非常に似ています。fn main()は一瞬C言語っぽい感じになりますが、関数の戻り値がどこにあるのかわかりません。let は定数を定義し、mut は変数を意味します。関数の戻り値はexpectまたはmatchで処理され、処理されない場合は警告が表示されます。同じように一致しますが、セミコロンを書く場所もあれば、カンマを書く場所もありますが、その理由はまだわかりません。このサイクルには、Arduino でおなじみのプログラム構造であるループが使用されます。{} のステートメント ブロックは C 言語のままで、Python のインデントの使用法を選択しませんでしたが、これは正しいと思います。
プログラムの実行方法については、公式 Web サイトの入門 - Rust プログラミング言語 (rust-lang.org)のチュートリアルを参照してください。
おやすみ、2023-3-10 22:38