Rustとか言うダブスタ言語 (173レス)
Rustとか言うダブスタ言語 http://medaka.5ch.net/test/read.cgi/prog/1729120072/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
37: 仕様書無しさん [] 2024/10/18(金) 07:28:21.04 所有権はメモリだけでなくリソース管理の問題でもある ファイルハンドルなんかが良い例で、実態はせいぜい数バイトしかないからコピー自体にコストがかかるわけではないんだけど、ファイルというリソースに絡むから所有権の管理の対象になる あるファイルへのアクセスを行う変数が同時に複数ある状態を許容しない、ということ 共有するなら Rc や Arc などの『シェアされてる』ことを示す型でのラップが必要だし、実際にアクセスする際に Mutex などでのガードが必要になる これらをコンパイル時に制限することでバグを生みにくい設計にしようというのがRust的な考え方 http://medaka.5ch.net/test/read.cgi/prog/1729120072/37
88: 仕様書無しさん [] 2024/10/20(日) 11:20:15.04 初学者がコードを見た時のとっつきにくさはあると思う けどこれは simple vs easy みたいもので、Rustは難しいけど仕組みを理解すればシンプルではある http://medaka.5ch.net/test/read.cgi/prog/1729120072/88
93: 仕様書無しさん [sage] 2024/10/20(日) 13:33:04.04 >>91 >>92 型の違いなどはどの言語もコンパイル時にエラーか実行時にエラーとなる もちろんRustのようにコンパイル時にエラーとなる言語の方が優れている http://medaka.5ch.net/test/read.cgi/prog/1729120072/93
171: 仕様書無しさん [sage] 2024/10/25(金) 19:17:54.04 >>158 Rustはトレイト境界の指定によりジェネリックで簡潔&安全にこのように書けるよ trait MCopy { fn mcopy(&self) -> Self; } impl<T: Copy> MCopy for T { fn mcopy(&self) -> Self { *self } } fn main() { let x = 123.45; let y = x.mcopy(); assert_eq!(x, y); let x = "abc.de"; let y = x.mcopy(); assert_eq!(x, y); } strはCopy実装型ではないけど &TがジェネリックにCopy実装型なので &strの文字列も上記のように動作 http://medaka.5ch.net/test/read.cgi/prog/1729120072/171
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.012s