メモ1
3652 ワード
1インストール
http://doc.rust-lang.org/0.12.0/guide.html
rustc mann.rsは直接mainまたはmain.exe実行ファイルを生成して、対象機器はrust環境をインストールせずに実行できます。
3 CargoはjavaのMavenに相当します。Man.rsをsrcに捨てます。配置ファイルのpom.xmlはCago.tomlに対応します。
今後はrustcを使わずcargo buildで命令します。
4変数バインディングlet x=5 i。ここのiは彼が虚数であることを示さず、彼がinteger let x:int=5であることを示しています。複数のlet(x,y)=(1 i,2 i)let変数を結びつけることができます。デフォルトはfinalです。scalaのvalと同じで、可変ですか?let mut x:int=5(ちょっと煩わしいです!)
let x:int;この時xは初期化されていません。直接使用できません。最後はprintlnで{}ビットを占めることができます。javaと同じです。
5 If
二つの種類のstatementsしかないです。他は全部expressionです。その中でexpressionは戻り値があります。statementsは戻り値がありません。最初の種類は戻り値がないstatementsです。let文はこのように書いてはいけません。
その役割はexpressionをstatementにすることです。
rustの文法はstatementの後に必ずstatementをフォローしなければならないので、あなたは使います。日にexpressionを区切り、正しい書き方をします。
6,関数はjavaと同じで、パラメータはタイプを宣言しなければなりません。
n
//コメント
//ドキュメントの注釈は斜線と文字の間にスペースを残して美観を示します。ドキュメントの注釈はmarkdown文法を使って、rustdocツールで自動的にドキュメントを生成します。
http://doc.rust-lang.org/0.12.0/guide.html
$ curl -s https://static.rust-lang.org/rustup.sh | sudo sh
アンインストールcurl -s https://static.rust-lang.org/rustup.sh | sudo sh -s -- --uninstall
.ハローfn main() {
println!("Hello, world!");
}
私はgeditor tabを2つの格にインデントしました。多すぎるのが嫌です。この記事はjavaとは違っています。ここは特に何もありません。ここはマクロです。rustはexpression orented langで、は、表式の終了を表します。rustc mann.rsは直接mainまたはmain.exe実行ファイルを生成して、対象機器はrust環境をインストールせずに実行できます。
3 CargoはjavaのMavenに相当します。Man.rsをsrcに捨てます。配置ファイルのpom.xmlはCago.tomlに対応します。
[package]
name = "hello_world"
version = "0.0.1"
authors = [ "Your name <[email protected]>" ]
[[bin]]
name = "hello_world"
トムが書いたlangをtomlといいます。ここには二枚の表があります。第一部分はmeta情報で、第二部分はブリーフィングではなく、binaryで、コンパイル用cargo buildとmavenで同じように、targtディレクトリに出力します。mavenと同じです。今後はrustcを使わずcargo buildで命令します。
4変数バインディングlet x=5 i。ここのiは彼が虚数であることを示さず、彼がinteger let x:int=5であることを示しています。複数のlet(x,y)=(1 i,2 i)let変数を結びつけることができます。デフォルトはfinalです。scalaのvalと同じで、可変ですか?let mut x:int=5(ちょっと煩わしいです!)
let x:int;この時xは初期化されていません。直接使用できません。最後はprintlnで{}ビットを占めることができます。javaと同じです。
5 If
let x = 5i;
if x == 5i {
println!("x is five!");
} else {
println!("x is not five :(");
}
またはlet x = 5i;
let y = if x == 5i {
10i
} else {
15i
};
5.1 Expression&Sttements二つの種類のstatementsしかないです。他は全部expressionです。その中でexpressionは戻り値があります。statementsは戻り値がありません。最初の種類は戻り値がないstatementsです。let文はこのように書いてはいけません。
let x = (let y = 5i);
2番目の戻り値はunitのstatementで、expression statementといいます。その役割はexpressionをstatementにすることです。
rustの文法はstatementの後に必ずstatementをフォローしなければならないので、あなたは使います。日にexpressionを区切り、正しい書き方をします。
let x = 5i;
let y: int = if x == 5i { 10i } else { 15i };
エラーの書き方:let x = 5i; let y: int = if x == 5i { 10i; } else { 15i; };
error: mismatched types: expected `int` but found `()` (expected int but found ())
セミコロンはexpressionをstatementに変更し、元の戻り値を破棄し、()に戻り、unitとして読みます。6,関数はjavaと同じで、パラメータはタイプを宣言しなければなりません。
fn main() {
print_sum(5, 6);
}
fn print_sum(x: int, y: int) {
println!("sum is: {}", x + y);
}
は、戻り値を持つfn add_one(x: int) -> int {
x + 1
}
returを使わないでくださいn
fn foo(x: int) -> int {
if x < 5 { return x; }
return x + 1;
}
7.コメント//コメント
//ドキュメントの注釈は斜線と文字の間にスペースを残して美観を示します。ドキュメントの注釈はmarkdown文法を使って、rustdocツールで自動的にドキュメントを生成します。
/// `hello` is a function that prints a greeting that is personalized based on
/// the name given.
///
/// # Arguments
///
/// * `name` - The name of the person you'd like to greet.
///
/// # Example
///
/// ```rust
/// let name = "Steve";
/// hello(name); // prints "Hello, Steve!"
/// ```
fn hello(name: &str) {
println!("Hello, {}!", name);
}
end