#author("2020-05-29T08:30:14+00:00","","")
#topicpath

//////////////////////////////////////////////////////////////////////////////
* 目次 [#q4c0856c]
#contents();

//////////////////////////////////////////////////////////////////////////////
* Rust [#q058373d]

//////////////////////////////////////////////////////////////////////////////
* 文法 [#m0c5ee20]

//============================================================================
** 関数 [#function]
- main 関数
 fn main () {
     // 処理
 }

- 返り値がない関数
 fn <関数名>( [<引数名> : <引数型> [,...]] ) {
     // 処理
 }

- 返り値がある関数
 fn <関数名>( [<引数名> : <引数型> [,...]] ) -> <返り値型> {
     // 処理
 }
-- 返り値のある関数では、関数の最後の行が何を返すのかを決定する。
-- この最後の行にはセミコロンを付けない。(付けるとエラーになる) 

//============================================================================
** 型 [#sf8df5d0]
//----------------------------------------------------------------------------
*** 整数型 [#q51cd732]
|~size  |>|~type name       |
|~~|~signed      |~unsigned |
|8-bit  |i8      |u8        |
|16-bit |i16     |u16       |
|32-bit |i32     |u32       |
|64-bit |i64     |u64       |
|arch   |isize   |usize     |

//----------------------------------------------------------------------------
*** 浮動小数点型 [#a5a073e4]
|~size  |~type name |~remark           |
|32-bit |f32        |                  |
|64-bit |f64        |浮動小数点の標準型 |

//============================================================================
** 数 [#v232aede]
//----------------------------------------------------------------------------
*** 整数リテラル [#kac55304]
|~数値リテラル  |~例         |
|10進数         |98_222      |
|16進数         |0xff        |
|8進数          |0o77        |
|2進数          |0b1111_0000 |
|バイト (u8だけ) |b'A'       |


//============================================================================
** 値の代入 [#t3341f63]
- ''変数束縛'' といい、 ''let'' を使用する
- 例:
-- x に値 5 を代入する
 let x = 5;
-- x に値 1, y に値 2 を代入する
 let (x, y) = (1, 2);
-- x の型を i32 と指定した上で、値 5 を代入する
 let x: i32 = 5;


//============================================================================
** マクロ [#v8cdba6f]
- マクロの呼び出しは、関数呼び出しとは異なり、マクロ名の後ろに ''!'' を付ける。
 println!("Hello World");   // 標準出力に文字を出力するマクロ println を実行



//////////////////////////////////////////////////////////////////////////////
* 開発 [#p7fe6a5c]
- cargo (The Rust package manager) を使用する
//============================================================================
** プロジェクトの生成 [#q336705e]
- 以下のコマンドで生成する
 $ cargo new <プロジェクト名>
-- これで、カレントディレクトリ下に、ファイルが一式出力される

//============================================================================
** 実行 [#y9d0c32f]
- プロジェクトのディレクトリにて、以下のコマンドで実行する
 $ cargo run




//////////////////////////////////////////////////////////////////////////////
* 参考リンク [#links]
- [[Rust 公式サイト>https://www.rust-lang.org/]]
- [[Rust 日本語チュートリアル>https://doc.rust-jp.rs/book/second-edition/]]
- [[slack 上の Rust チャンネル>https://rust-jp.herokuapp.com/]]


トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS