Rust を知ろう 2022 第7回
hsjoihs
プログラミング
プログラミング
プログラミング
モブプログラミング
やり方
喋
書
計
喋
喋
喋
計
喋
書
喋
喋
喋
喋
計
書
5分
5分
5分
今回やる内容
「カッコも処理できる電卓」
難しそう~
手間を省くための手抜き
それでも�難しそう~
なんと!�4ステップでできる
Step 1.
Step 2.
Step 3.
結局なにをやったのか
結局なにをやったのか
3 * 5 + 7 * 4 - 2 * 3 * 5
primary
結局なにをやったのか
3 * 5 + 7 * 4 - 2 * 3 * 5
��multiplicative
primary
結局なにをやったのか
3 * 5 + 7 * 4 - 2 * 3 * 5
���expression
��multiplicative
primary
まだ完了ではない
3 * 5 + 7 * 4
���expression
��multiplicative
primary
primary になっている�この 7 の中に……
3 * 5 + (9-2) * 4
���expression
��multiplicative
primary
(9-2) を入れてやればいい
3 * 5 + (9-2) * 4
���expression
��multiplicative
primary
expression をカッコで囲ったものも、primary として認めれば良い
Step 4.
� *�multiplicative
()
primary
�
� +�expression
� *�multiplicative
()
primary
�� +�expression
� *�multiplicative
primary
今回の実装のすごいところ
str
サイズ不定
&
String
let s = String::from("hello world");
let world = &s[6..11];
String の所有する別荘
「先頭を食いちぎる」と表現してきたが、単に「どこを先頭にして何文字眺める?」という情報を編集しているだけであり、入力データが全複製されたりはしていない
長大な入力が来ても安心!
長大な入力を作る
2GBのテキストファイル
2GBが16秒!
デバイス名 LAPTOP-BKHPSENK
プロセッサ Intel(R) Core(TM) i7-10710U CPU @ 1.10GHz 1.61 GHz
実装 RAM 16.0 GB (15.8 GB 使用可能)
デバイス ID 769FF632-9117-48E2-8F37-56A30DA7D528
プロダクト ID 00325-81798-74771-AAOEM
システムの種類 64 ビット オペレーティング システム、x64 ベース プロセッサ
ペンとタッチ このディスプレイでは、ペン入力とタッチ入力は利用できません
Rust とは?
(実行速度が)速い!
(メモリやスレッドに関して)安全!
(エラーメッセージやツールが)親切!
Rust とは?
「実践Rustプログラミング入門」p.2 より引用
便利
「知ろう」は今回で完結とします
「知ろう」は今回で完結とします
ということで
来週以降は tamaron さんにバトンタッチし、
といった少々コアな話をやります