2022/03/06
やったこと
知ったこと
型変換には as
キーワードが使える
型変換には try_from().unwrap()
とか使っていたけれど、
実はプリミティブ型なら as
キーワードである程度出来る。
例えば、以下の二つは等価。
u32::try_from(1).unwrap();
1 as u32
Iteratorの中に入ったOptionを外したいならflatmap
impl Iterator<Option<T>>
を impl Iterator<T>
に変換したい場合、 flat_map
でいける。
Haskelでいうところの catMaybes :: [Maybe a] -> [a]
に近い挙動をする。
元々こうやってたのが
let texts = vec!["this is", "an", "example"];
let v = vec![1,2,3];
v.map(|idx| texts.get(idx)).filter(|val| val.is_some()).map(|val| val.unwrap())
こう書ける
let texts = vec!["this is", "an", "example"];
let v = vec![1,2,3];
v.filter_map(|idx| texts.get(idx);
マイクラのサイト
https://njf.jp/minecraft/articles/2020-09-13-hoe.html
新しい仕組みになってからの村周りの情報とかがあってよい。