<commit_before># Rust exercises

Rustの基本的な文法と、考え方を学ぶためのエクササイズ集です。

|番号|内容|フォルダ名|
|--|---|--------|
|1|[Hello world](exercises/hello_world/)|hello_world|
|2|[所有権に関するもの](exercises/ownership/)|ownership|
|3|[参照に関するもの](exercises/reference/)|reference|
|4|[変更可能な参照に関するもの](exercises/mutable_reference/)|mutable_reference|
|5|[nullを返す可能性のある関数](exercises/option/)|option|
|6|[エラーを起こす可能性のある関数](/exercises/result/)|result|
|7|[ライフタイムとスコープについて](/exercises/lifetime-and-scope)|lifetime-and-scope|
|8|[動的計画法に関するもの](exercises/fibonacci/)|fibonacci|
|9|[ユーザ定義型に関するもの](exercises/cart/)|cart|

## 楽しみ方

1. exercisesフォルダを開く
2. エクササイズを選ぶ
3. そのエクササイズのフォルダをターミナルで開く
4. src/main.rsをエディタ/IDEで開く
5. Enjoy!

### Cargoを使ったコンパイル

コンパイルはcargoコマンドを使って行います。
使い方は次をご覧ください。

~~~sh
$ cargo build # デバッグビルドの作成
$ cargo build --release # リリースビルドの作成
$ cargo run # ビルド後、コマンドライン引数なしで起動
$ cargo run -- -c -o foo.txt bar.txt 
# -c -o foo.txt bar.txt を引数に指定して、ビルドしたプログラムを起動<commit_msg>updated links<commit_after># Rust exercises

Rustの基本的な文法と、考え方を学ぶためのエクササイズ集です。

|番号|内容|フォルダ名|
|--|---|--------|
|1|[Hello world](exercises/hello_world/)|hello_world|
|2|[所有権に関するもの](exercises/ownership/)|ownership|
|3|[参照に関するもの](exercises/reference/)|reference|
|4|[変更可能な参照に関するもの](exercises/mutable_reference/)|mutable_reference|
|5|[nullを返す可能性のある関数](exercises/option/)|option|
|6|[エラーを起こす可能性のある関数](exercises/result/)|result|
|7|[ライフタイムとスコープについて](exercises/lifetime-and-scope)|lifetime-and-scope|
|8|[ライフタイムと関数について](exercises/lifetime-and-function)|lifetime-and-function|
|9|[動的計画法に関するもの](exercises/fibonacci/)|fibonacci|
|10|[ユーザ定義型に関するもの](exercises/cart/)|cart|

## 楽しみ方

1. exercisesフォルダを開く
2. エクササイズを選ぶ
3. そのエクササイズのフォルダをターミナルで開く
4. src/main.rsをエディタ/IDEで開く
5. Enjoy!

### Cargoを使ったコンパイル

コンパイルはcargoコマンドを使って行います。
使い方は次をご覧ください。

~~~sh
$ cargo build # デバッグビルドの作成
$ cargo build --release # リリースビルドの作成
$ cargo run # ビルド後、コマンドライン引数なしで起動
$ cargo run -- -c -o foo.txt bar.txt 
# -c -o foo.txt bar.txt を引数に指定して、ビルドしたプログラムを起動
{'fraction_non_alphanumeric': 0.1719387755102041, 'fraction_numerical': 0.015306122448979591, 'mean_word_length': 6.60077519379845, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1234793', 'n_tokens_mistral': 1196, 'n_tokens_neox': 1163, 'n_words': 103}