mzumi's blog

Swift実践入門の Github API Client を Rust で実装してみた。

March 10, 2017

以前、読んだ「Swift 実践入門」で、サンプルとして作成するGithub CLI ツールを Rust で書き直してみた。

今回のツールを作成するにあたり、なるべく unwrap を使用しないようにした。
(元々のコードがエラー処理などをちゃんとしているので、真似ただけとも言える。)
今までは、なんとなく書いていると、Option や Result などがあると、unwrap して手を抜いてしまっている場合が多かった。
今回は、独自のエラーの enum を作成するなどしてみた結果、色々と勉強になった。
ただ、下記のような部分は、?演算子で取り出して再び Ok でラップしているので、若干冗長な気がするのだが、一行でかけたりしないのだろうか?

あと、やっぱり Swift と Rust は似ているなと思った。
Swift のコードをそのまま写しているような感覚のところも何箇所かあった。
ただ、やっぱり作っていて Rust の方がコンパイラに怒られる回数は多いような気がする。
あと、理解不足が原因だが、Rust の方がなぜコンパイルエラーになっているか考えさせられるところが多々あった。
まだまだ、勉強不足と言うことを痛感した。

ただ、既存のツールを移植してみるというは、とても勉強になったので(題材が良かったというのもあるが)
これからもやっていきたい。