Magicode logo
Magicode
2

【Rust】the bookをあえてJupyter Notebookで学習していく2

この記事を読む前に

こちらの記事はRustのthe bookをJupyter Notebookで学習していこう、というとてもマニアックな記事です。 【Rust】the bookをあえてJupyter Notebookで学習していく1で環境構築の方法を記載してますのでご一読ください。

前提

Rustにはthe bookという公式の学習ドキュメントがあります。 ここでは筆者がthe bookをJupyter Notebookで進める上でthe book通りに出来なかったものをどう解決したかをまとめ記載していきます。細かい文法の解説はthe bookにあるのでそちらをご覧ください。 何故Jupyter Notebookか?それはJupyter NotebookでやればそのままMagicodeの記事にできるためです。それ以外の理由はありません...

想定読者

読者は他のプログラミング言語の知識がある程度ある方を想定しています。

環境

筆者の環境はM1 Macbook Air(2020)です。Windowsではないため、Windowsの方はthe bookを参考に環境構築をお願いします。Macの方は【Rust】the bookをあえてJupyter Notebookで学習していく1を参考に環境構築をしてください。

数当てゲームのプログラミング

本記事ではthe bookの2章を学習していきます。2章は数当てゲームのプログラミングを作成する章で、ゲームを作成しながらRustの変数宣言等の基礎を学ぶ章になってます。

最初に完成形を

最初に完成形をお見せします。理由は完成形を元に説明をしていくためです。ちなみにMgicode上では実行できませんので本記事をDLし自身のJupyter Notebookでお試しください。また数当てゲームのプログラミングのコードとは若干異なりますのでご注意を。

// the bookと違う点①



予想: 1 小さ過ぎます! 予想: 2 小さ過ぎます! 予想: 3 小さ過ぎます! 予想: 4 小さ過ぎます! 予想: 5 正解です!
()

the bookと違う点①

違う点の1つ目は「ライブラリのインストール方法」です。数当てゲームのプログラミングに記載の方法では出来ず、:dep 変数名 = { ライブラリ名 = "バージョン" }でインストールすることができます。下記2行はそれぞれライブラリのインストールをしています。

the bookと違う点②

違う点の2つ目は「値の入力方法」です。本来の標準入力はstd::ioライブラリを使いますが、変則的にJupyter Notebookを使用しているため入力欄が現れません。そこで代替としてevcxr_inputを用います。

the bookと違う点③

違う点の3つ目は1秒の待機が2回あることです。下記のコードが該当箇所です。挿入した理由はprintln!での標準出力前に次の入力が始まってしまうためです。

まとめ

この通りあえてJupyter Notebookでthe bookを学習する場合は自分でevcxrのドキュメントを確認しながら進めていく必要があリマス。。Rustを勉強する目的であればただの遠回りですが、自身でドキュメントを読み解きながら進めていくことも一つ勉強となりますので、ぜひ試してみてください。次回the bookの3章を進めていきます。

Discussion

コメントにはログインが必要です。