generated at
Rust入門
Rustの関数型言語っぽい所
let x = if ~~~みたいな書き方、ぽい?
デフォルトがimmutableで、mutableだとしても制約が色々ついてる
参照透明性に近い事を目指している..?

気になるblu3mo


とっかかりとして
letはmutにしない限り変えられない
でも再宣言はできるのか
usize, isize
配列のindexはusize
配列とスライスってのがあるのね
固定長かどうか
配列は実質タプルのn個版みたいな感じか
>if、match、関数、ブロックの最後が ; のない式であれば、戻り値として使用されます。 これは値を返すための簡潔なロジックを作成するのに最適な方法で、その値は新しい変数に入れることができます。
RustのError
do_something_that_might_fail(432)?
は、Errorを返したら return Err(e) になる
do_something_that_might_fail(432)? をmain()で実行してたら、mainがerrでreturnされて終了するって仕組みか
Vec
C++のvectorと同じ感じ
ヒープメモリへの参照をvector structが持つ
macro
println!とかvec!とかはmacroなのね
ライフタイム
造られてからdropされるまでの期間のことなのは理解した
ただ、lifetime specifierはいまいち掴めない
lifetimeってプログラムの内容によって決まることかと思ってたけど、人為的に設定してもいいの?矛盾とか大丈夫なの?という気持ち
static variableとかのstatic lifetimeは、プログラムの終わりまで
データメモリに置かれるってことかな

感想
結構好きだな
すっきりしている
少ない本質的な要素で物事をやろうとしている感じがあって綺麗(?)
所有権周りの制約、非同期的なコード書くのむずそう