Rust言語でゆるくツールを作ってみるお話
Fusicの中野です。
最近、弊社の東京事務所内で人気のRust(プログラミング言語)について。
Rust言語
Rust言語についてのイメージは
- 所有権と借用
- 難しい
- GCがない
- 速いっぽい
とかでしょうか。
特に、所有権と借用のメモリ管理まわりの概念が、少し難しい言語かなと思います。
しかし、パターンマッチ・型推論・総称型・マクロなど、とても魅力的な要素がたくさん ある言語なので、今回はRust言語の勉強用にちょっとしたツールを作ってみました。
作ってみたツール
ということで、
主な機能として
- $HOME/.ssh/config をパースする
- Host <何か> の何か部分を取り出して、tmuxのパネルを分割してSSHで接続
- それぞれの接続先にコマンドを送りつける
です。
使用したライブラリとして、
$HOME/.ssh/configのパース => rust版parsecのnom
readlineっぽいやつ => liner
を使わせていただきました。
nomはparsecとそっくりだったので、exampleとガヴリールドロップアウトを見ながら、 さくっと利用する事ができました。
感想として
Rustは難しい部分もあるかと思いますが、コンパイルが通れば気持ちいいですし そこそこ想定通りの動きをしてくれます。
rustup・rustfmt・racerなどの開発用ツールや、Rustの日本語記事や日本語訳ドキュメントなど、 簡単に利用するための環境が充実してきました。
Rust言語が気になっている人は、軽く試してみてはいかがでしょうか?