Ink

Contents related to tech, hobby, etc

2022/03/06

|

2022/03/06

やったこと

知ったこと

型変換には as キーワードが使える   Rust

型変換には try_from().unwrap() とか使っていたけれど、 実はプリミティブ型なら as キーワードである程度出来る。 例えば、以下の二つは等価。

u32::try_from(1).unwrap();

1 as u32

Iteratorの中に入ったOptionを外したいならflatmap   Rust

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

新しい仕組みになってからの村周りの情報とかがあってよい。

やること