6
7

Rustの勉強の敷居を下げてみた〜演習問題集Rustlingsを翻訳して公開しました〜

Last updated at Posted at 2024-09-25

はじめに

こんにちは。細々とプログラミングをしているsotanengelです。

Rustの読み書きの練習にピッタリな問題集として知られるRustlingsを日本語に翻訳したので、

  • 書籍などを読んで概要を理解したので実際にRustを書いてみたい👀
  • Rustlingsは英語で書かれていてとっつきにくいなぁ

という人は以下のリポジトリの日本語翻訳バージョンにトライしてみてください!!

以下、使い方や経緯などをざっくりとまとめておきます。

使い方

一応、リポジトリにも同じような説明を書いているのですが、こちらでも書いておきます。

※ 仕様の更新などで手順に変更が加わる可能性があるため、問題が生じた場合には本家などを確認し、こちらで修正内容を報告いただけますと幸いです。

1. Rustをインストールする

まずwww.rust-lang.org/tools/installにアクセスし、最新バージョンのRustをインストールしましょう。

🐧 もしもLinuxであれば, gccをインストールしましょう。

Deb: sudo apt install gcc.
Dnf: sudo dnf install gcc.

🍎 もしもMacOSを使っている場合は,Xcodeとデベロッパーツールをxcode-select --installでインストールしてください。

2. Rustlingsをインストールする

Rustlingsの演習をスムーズに進めるためのコマンドラインツールをターミナル上からインストールします。

cargo install rustlings
もしも失敗した場合には… (詳細を開く)
  • rustup updateコマンドで最新バージョンのRustか確認してください
  • --lockedフラグを利用してみてください、こんな感じで→cargo install rustlings --locked
  • もしくは本家のissueで報告してください

3.演習問題のダウンロード

最新バージョンの日本語の演習問題をダウンロードしましょう!
ダウンロードしたzipファイルを解凍し、好きな場所に配置してください。
※リポジトリをご確認ください。

4. 演習問題にチャレンジ!

ターミナル上で解凍したrustlings-jp-YYYYMMDDのディレクトリに移動し、以下のコマンドを実行してください。

rustlings
もしも「rustlingsコマンドが見つからない」とターミナル上で警告が出た場合には… (詳細を開く)

もしもLinux系を使っており、Rustをパッケージマネージャーでインストールしていた場合には、
Cargoが~/.cargo/binにダウンロードされているものの、
~/.cargo/binPATHの環境変数に入っていない可能性があります。

解決方法としては、

操作方法の簡単な説明

  • rustlings:問題集を解くためのツールが起動する
  • n:次の問題に進む
  • l:問題のリスト一覧を表示する
    • c:カーソルで合わせた問題から演習を再開する
  • r:問題の回答ステータスをリセットする

経緯

Rustを学んでみようと思ったきっかけは、

  • 兼業先でRustを勉強している人がいた
  • 勉強時間が取れそうだったので

の2点です。

実際にThe Rust Programming Language 日本語版を使って記法などについて学んでみたところ、「ライフタイム」や「ジェネリティクス」などは読むだけでは理解ができないなぁと思い演習問題を探してみました。
するとRustlingsなるリポジトリがRustの勉強には最適らしく、いくつかのブログで紹介されていました。

例.

RustlingsではRust本のチャプターごとに小問演習が用意されており、ターミナル上で動くコマンドラインツールも提供しているため、手を動かしながら勉強するにはもってこいのリポジトリでした。

またRustlingsの作者さんは寛大な方らしく、サードパーティーの演習問題の作成や翻訳についても許容してくださっていたので、「せっかくRust学ぶなら後続の人がより学びやすくなるように翻訳版を作成してみるべ」って感じで今回の翻訳バージョンを作成してみた次第です。

もしも今回の記事を読んで「自作の問題を作ってみたい!!」という方がいれば以下のドキュメントを参考にしながら、あなたのRustlingsを作ってみてください!

さいごに

今回の翻訳ではRustlings本家のコードをただ翻訳しただけだったので、

  • 解説部分で分かりにくい部分を加筆
  • ヒントがまだ翻訳しきれていないので加筆
  • 新しい問題などを追加

などを細々と行なっていければいいなと思っています。
もしも本リポジトリで不備などあれば、リポジトリのissueやPRなどでご指摘いただければと思います。

6
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
7