🦀

100日後にRustをちょっと知ってる人になる: [Day 77]REPL ツール: Evcxr

2022/12/05に公開

Day 77 のテーマ

Day 76 から Rust の書籍の Rustプログラミング完全ガイド を読み始めました。書籍の中でサンプルコードがたくさん出てくるのでとても便利なのですが、1つ1つソースコードを起こしてコンパイルして実行するのは面倒ですよね。
こんな時に、Java あれば JShell、Kotlin であれば ki shell のように REPL ツールがあると便利ですよね。というわけで、Rust にも REPL ツールがないものかと探してみたのでした。

Evcxr

何か欲しい物があるときは、とりあえず crate.io で検索してみることにしています。というわけで、REPL を検索してみました。

いろいろとREPL なものが見つかったことに驚いたのですが、その中で最もダウンロード数の多かった evcxr_repl を使ってみることにします。

この evcxr は最近 Rust のフォーカスし始めている Google が作成している REPL ツールでした。

それでは、この REPL ツール evcxr をインストールして使ってみたいと思います。

インストール

evcxr のインストール方法は 2 種類あります。

  • ✅ ビルド済みバイナリの取得
    • ここからビルド済みイメージをダウンロードできます
  • ✅ 自分でビルド
    • 自分でビルドと言っても難しいわけではなく、cargo コマンドを使ってビルドを行いバイナリをインストールします

ここでは、cargo によるインストールをしてみたいと思います。

次のコマンドを実行します:

cargo install evcxr_repl

終了すると、$HOME/.cargo/bin/ にインストール出来ていることが確認できます。

evcxr の使用

evcxr -h

現時点で最新版の 0.14.1evcxr がインストールできています。

evcxr 0.14.1

USAGE:
    evcxr [FLAGS] [OPTIONS]

FLAGS:
        --disable-readline
    -h, --help                Prints help information
        --ide-mode
    -V, --version             Prints version information

OPTIONS:
        --edit-mode <edit-mode>     [default: emacs]  [possible values: vi, emacs]
        --opt <opt>                Optimization level (0, 1 or 2) [default: ]

では、動かしてみます。

$ evcxr
Welcome to evcxr. For help, type :help
>>

プロンプトが出てくるので、ここに Rust のコードを打ち込んでいきます。

>> let message = "Hello EVCXR".to_string();
>> message
"Hello EVCXR"
>> println!("Message:{}", message);
Message:Hello EVCXR
>>

実行できていますね、インタラクティブに Rust のコードの動作確認ができます。

終了する時は、:quit です。

>> :quit

Day 77 のまとめ

今日は REPL ツールの evcxr について見てきました。しかし、使っている間ずっと思っていたのが、この evcxr というコマンドが何を表しているか分からないので覚えられないなと思っていたのです。しかし、ようやく気づきました。

この evcxr が Rust の評価コンテキストを使用して作られているということだったので、evaluation context for rust ということなんだろうな、と分かりました。

これでコマンド名を覚えられるはず!と思っています。

いずれにしても、コマンド名が覚えられるかおいておいて Rust で REPL が使えるのはちょっとしたコードを試す時にとても便利なので、ぜひ使ってみてはいかがでしょうか。

GitHubで編集を提案

Discussion