2022-01-01から1ヶ月間の記事一覧
今回から何回かに分けて「RustでPID制御を書く」ということをやってみようと思います。 しかし、PID制御を書くと言っても、実際に何かマイコンボードとモーターを用意して組み込みプログラミングで、、、というわけではなく、本の内容を参考にしてプログラム…
今回は、以前からやりたいなぁと思っていた、Rustでのグラフのアニメーションが出来たのでその備忘を書き残します。 Pythonではmatplotlibで簡単に出来ますが、Rustではplottersというグラフ描画ライブラリを使用して実現しました。 以下がコードです。 // p…
今回は、Rustのclapについて、コマンドライン引数の定義によってhelpの際に出てくるUSAGEの書かれ方がどう変わるかを調査してみました。 なお、tomlファイルの依存関係は以下のように記載しています。 [dependencies] clap = { version = "3.0.6", features …
今回はRustで標準入力で複数行を入力しようと試行錯誤した時のことを備忘として書き残します。 Rustで標準入力しようと思った時によく出てくるのは以下のようなものです fn main() { let mut buf = String::new(); let stdin = std::io::stdin(); stdin.read…
今回は、とても些細な所なんですが分からかった点がようやく分かったので、その備忘として書き残します。 何が分からなかったかというと、表題のように「Rustのmatch文で何もさせたくない時にどうするか」です。 match文は match num { 1 => ..., 2 | 3 => .…
※まずはじめに、私の開発環境がWindowsであり、そのためWindows環境での言葉になってますがご容赦ください 最近簡単なCLIツールならRustで作れるようになろうと勉強しているのですが、今回は簡単なCLIツールを作り、それをコマンドプロンプトで動かすとどう…
今回は、表題の通り、PyO3を使ってPythonからRustの関数を呼び出してみたのでその備忘録です。 初めは難しいのかなぁと思いましたが、やってみると結構簡単に出来ました(まだ簡単なところしかやってないからかもしれませんが、笑) まずはコマンドプロンプ…
今回は、Rustで標準入力、引数処理の勉強として作成したプログラムを公開します。 エラー処理など甘い箇所がありますが、勉強の一環としての作成なのでご容赦ください //! 入力された数値を16進表記にして1行に1つずつ出力するプログラム //! //! # Note //!…
今回は、RustでPathの拡張子を解析し、その拡張子に応じて処理を変える方法を調査してた際の備忘録です。 例えば、パスがあり、その拡張子に応じて出力するメッセージを変えたいとします。 .txt ならtext fileと表示し、bmpならbitmap fileと表示する、みた…
今回は表題の通り、Rustでstd::process::Commandを使って簡単な外部コマンドを実行してみようと挑戦した時のことを書き残します。 ちなみに、私の環境はwindowsです。 Rustでは標準ライブラリとして外部コマンド(windowsだとコマンドプロントを通して使う"d…
rustでOS作りの勉強しようと思うとき、必要になるのがqemuというオープンソースソフトウェアのプロセッサエミュレータです。 このqemuをwindowsでインストールし、Rustで書かれたOSサンプルコードを動かした時の備忘録です。 。。。といっても、下のリンク先…