Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

趣味でプログラミングする人がRustを勉強する

個人的Rustまとめ

Rustで勉強したことをアウトプットする場所です。Rustを書いてる人ってレベル高い人が多いので説明が難しいです。もちろんRust自体も難しいです。なので、自分に分かるような解説をここに書いていきます。

筆者のレベルはC言語でブラックジャックとかを作れる程度です。

順次追記していきます。

目次

情報源

具体的な順に

  • 実践Rust入門
    これを一通りなぞることでRustの全体像がつかめるはず。

  • The Rust Programming Language
    Rustの教科書的な感じ。ここを見ればRustの仕様がわかる。

  • Rust by Example日本語版
    サンプルコード集。こっちのほうがとっつきやすい。
    このページではサンプルコードを走らせることが出来ます。さらに編集もできます。
    1から書くより既存のコードを書き換えて結果を観察するほうが効率的です。

  • Qiita
    当然Qiitaも見ます。

  • 何かあったらGoogle検索
    まずはこれ。

開発環境

  • windows10
    私はwindows10のノートPCを使っています。
  • lubuntu18.04
    VirtualBox上のlinuxでも動かしてみました。rustupとvscodeのインストールさえ終わればwindowsとの違いは感じません。
    ubuntuでも動きましたが重すぎたためlubuntuにしました。
  • rust playground
    Rustのコードを書いたらすぐ動きます。短いコードはここで作れます。Rustコンパイラすらいりません。
    →環境構築してからは全く使わなくなりました。
  • rustup
    Rustをインストールしてくれるものです。バージョン管理などの機能もあるらしいです。
  • rustc
    rustのコンパイラです。
    操作するのは後述のCargoのため、コンパイラはバージョンさえ知っていれば大丈夫だと思います。
  • Cargo
    Rustのコンパイルとかライブラリの管理とかいろいろできるらしいけどよくわかってません。
    最低限、プログラムを書いて実行するのに必要な知識をまとめました。→cargoの使い方
  • visual studio code
    略してvscodeと書きます。テキストエディタですが、サクラエディタなど私の知っているテキストエディタとは全く違ったソフトで混乱しました。vscodeは事前学習を要するツールです。
    • Rust (rls)
      vscodeの拡張機能です。vscodeでRust書くなら必須と思われます。language server protocolというプロトコルを使用しており、(rls)はrust server protocolの略です。 vscode上で検索してインストールすることが出来ます。
      futureを経由する(.awaitする)と型を推論しない(バグ?未対応?)ため、今は使ってません。rust-analyzerniに乗り換えました。
    • rust-analuzer
      async 上記のRust(rls)よりも高速に動作し、表示される情報量も多いです。エディタ上に型を直接表示してくれるところが気に入っています。

コードの書き方など

最初のRustプログラム
画面に文字を表示する
ユーザーからの入力を受け取る
Rustのデータ型
Rustの複合データ型
列挙型とmatch
変数
計算する
繰り返し
関数
所有権・ムーブ・借用・参照
メソッド
トレイト
イテレータ

stdライブラリ

Vec(可変長の配列)

tonesuke
頭の体操として趣味でプログラミングを勉強したり書いたりしてる人です。今はRustを勉強中です。一応本業でもプログラミングしてます。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away