Rust再々入門
エラー処理を学んだ。 Rust でエラーを処理する - Learn | Microsoft Docs やっぱり例題わかりにくい。。
POSTS
エラー処理を学んだ。 Rust でエラーを処理する - Learn | Microsoft Docs やっぱり例題わかりにくい。。
昨日の続きでRust の最初のステップ - Learn | Microsoft Docsを進める。 ちょっと説明不足で何をしたらよいかわからないところがあるけど、コードの解答例もあるから最終的にはどうしたらよかったのかはわかる。 地道に進めていこう。
昨日、すっかり初心者に戻ってしまったので、Rust の最初のステップ - Learn | Microsoft Docsをやってみることにした。 最初のモジュールのまとめに書かれていた、Table of Contents - Rust Cookbookがいろいろ参考になりそう。
go版のリファクタリングも進めたので、またRust版を進めようと思ったら、すっかり構文など忘れてしまっていた。 やっぱり集中&継続して触らないとダメだ。。
細かい変換を関数化してみた。 strconv.Atoiをエラーだったらデフォルト値で返すやつとか。 titleやtempoを[]byteにして返すやつとか。
mainのテストは、os.Argsを直接設定するという割と無理やりな書き方でテストしていたけれど、処理部分を別関数にしたので、引数を変えて正常系と異常系をテストし分けることができるようになった。
Docker Desktopでは設定でcomposeのバージョン(1系と2系)を切り替えることができる。 ところで、いつまでV1が使えるのか気になったので調べてみた。 https://github.com/docker/compose では、デフォルトのブランチがv2となっている。masterブランチに切り替えてREADME.mdを見ると、 New features and bug fixes will only be considered in the V2 codebase とあるが、 but as Read more
Rust版でやっているように、main関数から処理を分離してrun関数を作ってみた。
入力ファイルをos.Args[1]で取得していたので、引数指定しないと範囲外アクセスでpanicしていた。 flagパッケージ使ってflag.Arg(0)で取得するようにしたので、引数指定しなかった場合にはファイルなしエラーで終わるようになった。 もっと親切にするなら、エラー終了ではなくヘルプ表示にする Read more