トップ «前の日記(2020/07/21 (火) ) 最新 次の日記(2020/07/23 (木) )» 編集 RSS feed

HsbtDiary


2020/07/22 (水) [長年日記]

機動戦士ガンダムUC episode EX2 獅子の帰還 を読んだ

Amazon を眺めていたらフラッとおすすめしてきたので買ってみた。EX0 はシナンジュ強奪の話だっけ...という感じにシリーズを忘れてしまった...

このコミックでは UC 本編と NT の間を埋める話をリディの視点から描いたって内容だった。ストーリー自体はまずまずという感じだったかな。


機動戦士ガンダムUC episode EX2 獅子の帰還 (角川コミックス・エース)
玉越 博幸
KADOKAWA
¥704

Rust 入門していた

毎週水曜の午後にエンジニアで適当に集まってランチを食べようというのをやっていたのだけど、集まる人が固定化していて話題の幅を広げるにはどうするといいかなあというのを話していて、 kurotaky の提案で毎週何かトピックを決めてやってみるのはどうか、ということで Rust について触ることにした。

1h しかないので、自分が Rust のボイラープレートってどうやるの?というのをゼロから話しながら進めていた。書いたファイルはこれ。

// main.rs
fn main() {
    use crate::hello::*;

    // println!(hello()) はダメ
    println!("{}, hsbt!", hello());
}

pub mod hello;
// hello.rs
pub fn hello() -> String {  
    "Hello, World!".to_string()
}

#[cfg(test)]
mod test_main {
    use super::*;

    #[test]
    fn test_main() {
        assert_eq!("Hello, World!", hello());
    }
}

今回学んだことはこの辺。

  • "Hello world" を表示するぺらいち main.rs を作成して rustc main.rs してから実行
  • 続いて cargo new hello してから同じ内容を書いて cargo run すると実行してくれる
  • main は一個しかないのでそれが書いてあるファイルがエントリーポイントになる
  • テストは同じファイルに cfg(test) をつけて書く。cargo test で実行できる
  • 同じファイルのメソッドをテストするときは use super::* して呼ぶ
  • 戻り値は -> String などと指定する。; 付けないと戻り値になる。
  • 分割したファイルを呼び出す側は use crate::hello::* などとして呼ぶ
  • vscode の rust 拡張がやたら便利で、どんどん補完されるのと、カーソルを置いているテストを個別に実行できる

ボイラープレートについては大体わかったので、あとは標準ライブラリの使い方を触るなどすれば雑なコマンドラインライブラリくらいは書けそう、な気分になった。知ってる人からいろいろ教えてもらいながら進めるとすごく捗るのでお得。