Rustを1ミリも知らない俺がRustプログラミングさせられた件 第2話『ビルドエラー討伐』
Вставка
- Опубліковано 9 жов 2024
- テンプレコードのエラーを解消していきます。
今回の次回予告、とても好きです。
収録したときにこういう編集にしようと決めました。
次回 → • Rustを1ミリも知らない俺がRustプログ...
再生リスト: • 低レイヤーガールと学ぶRustシリーズ
◆今回の学び
rust-analyzer コード分析ツール
fn 関数定義
unimplemented!() 未実装を明記する関数
impl 実装ブロック(型の関数定義)
Option オプション型(値が存在しなくてもいい)
◆今回使った双方向リストのテンプレ
Rustコード:gist.github.co...
擬似コード:gist.github.co...
最終的な双方向リストのコード → 第5話の動画に記載しました
◆最終的に作成されたRustでの双方向リストのコード
→ 第5話の動画に記載しました
◆低レイヤーガールについて
【特集】低レイヤーガールって何者?OSとブラウザを自作する唯一無二なVtuberの魅力に迫る! : • 【特集】低レイヤーガールって何者?OSとブラ...
◆低レイヤーガールのチャンネルはこちら!
/ @low_layer_girls
◆出演
asamiさん / d0iasm
hikaliumさん / hikalium
アスースン・オンライン / asusn_online
◆BGM
低レイヤーガール テーマ曲: Undefined
• Undefined - #low_layer...
Music: Canon @white_lemon
#rustprogramming #rust #low_layer_girls - Наука та технологія
🔸解説タイム
3:47 リストと配列の違い
8:50 ジェネリクス(Generics・総称型)
11:55 impl
13:30 rust-analyzer
15:23 fn
16:42 unimplemented!()
26:45 !マクロ
34:43 Option型
疑似コード見せてくれるところが笑いのツボにハマりました🤣
双方向連結リストが配列より優れている点として、先頭push, popの他にノードの位置(ポインタなど)がわかっているときの削除やその前後への挿入がO(1)でできるのが大きいと思います。
今の実装はdequeとしてしか使えなさそうなので削除や挿入もあればと思いました。
C++erなのでRustまったくわかりませんが()
(C++のdequeはちょっと特殊(?)でdequeのランダムアクセスがO(1)です)
Linuxカーネルは移植性や互換性のためにマクロがとてもたくさん使われているようですね。あとは、モジュールを分けるためにも使われていたりしてマクロの嵐らしいです。
追記:
Elixirの標準フォーマッターは最後のカンマを許してくれないので、みんな嘆いています。
vscodeに(neo)vimが入っていない...!? vim派と思っていたのに
27:25- RustでCの#defineみたいに邪悪なことしたいときはproc_macroとproc_macro2ですね。
structがインターフェイスになってて、impl が具象なんですね