Rustその2
引き続きRustチュートリアル。6章まで。(歩みはゆっくりです;)
普段 C++, C#, Python くらいしか触らないので、かなり新鮮な気持ちでお勉強できています。
所有権
Copy可能でない型をコピーすると、それはmoveになる。 そしてmove後の変数を使おうとするとビルド時にコケる。
所有権を奪わないように基本的には参照を使うことになるのだけど、安全のために可変な参照は複数同時に持てなかったり、不変の参照を使用中に可変の参照を作れなかったりする。
厳格なビルド時チェックがすごいですね。このあたりがRustの特徴なのだろうな。
反面、慣れるまではコード書くの苦労しそうではあります。
Enum
RustのEnumはデータを紐づけられる。
しかも、列挙子ごとに紐づけなかったり紐づけたり、異なる型を紐づけることも可能といった感じで、かなり柔軟です。
また、Enumとの組み合わせで、パターンマッチングの包括性は良いですね。
おまけ
Rustは ちまちま進めつつ、別のネタも取り上げようと思います。
来年は良い年になりますように。