[binllion] モジュールをファイル分割する
前回で各機能をモジュールに分割しました。しかし、コードはすべてmain.rsファイルに収まっており見通しが悪いです。 もしかしたら、誤って不要な変更を行ってしまうかもしれません。 まだ十分サイズは小さいですがコードが膨ら…
前回で各機能をモジュールに分割しました。しかし、コードはすべてmain.rsファイルに収まっており見通しが悪いです。 もしかしたら、誤って不要な変更を行ってしまうかもしれません。 まだ十分サイズは小さいですがコードが膨ら…
前回、機能毎に関数で切り出して細分化してみましたがよりRustぽくするためにモジュール化を行います。 モジュールとすることで関連するコードをまとめたり、アクセス範囲を狭めたり、処理内容を隠蔽することができます。 上記がソ…
今までのコードはキーボードからの入力をio::stdin().bytes()で読み込み、処理を行ってきましたがcrosstermでも入力処理を提供しています。 こちらはキーボードだけでなくマウスの入力やウィンドウリサイズ…
エラー処理を行う ここでunwrap()について考えてみましょう。 このコードの中でunwrap()が使われているのは下記の3箇所です。 enable_raw_mode()のドキュメントを見ると、enable_raw_m…
crateの追加 では端末を制御してrawモードにするためにcrateを使うようにしましょう。このような機能を提供するcrateは複数ありますが今回はcrosstermを使用します。 下記のcargo addコマンド1を…
Rustのコードを書いてみる アプリケーションの最初のステップとして、サンプルで作られたmain.rsを書き換えてみましょう。 このコードは単純に標準入力から押されたキーの文字を読み込んで表示します。 まず最初にコメント…
cargoでプロジェクト初期化 ここまでで作業を開始できる状態になっていると思います。早速Rustのプロジェクトを作ってみましょう。 cargo new コマンドあるいはcargo initコマンドでRustを始めます。…
Rustのインストール 開発のためのRustのセットアップから始めたいと思います。 使用するプラットフォームはLinux環境になります。ですが、コードはなるべくどの環境でも動作するようなものにしたいと考えています。が個々…