[過去ログ] プログラミング言語 Rust 4 (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
338
(4): 2017/11/30(木)13:33 ID:2d5TEUTF(1) AAS
Rust的な設計の指針というかコツみたいのって無いですかね…

勉強のつもりで外部のCのライブラリとの間に入るちっちゃなFFIのラッパーを書いてみたんですが、Cの感覚で書く->コンパイラに怒られてあーなるほど修正ってのを繰り返してとりあえずは動くようになったんだけど
何をするにも

let foo = xxx ;
{
let bar = foo.xxx() ;
bar.yyy() ;
}
{
let baz = foo.zzz() ;
baz.www() ;
}
{
let bar = foo.xxx() ;
bar.yyy() ;
}

みたいに書かないといけなくて書いた本人でも「何やねんこのウンコ!」ってなってる(´・ω・`)
(Rustがって意味じゃなくて自分の書いたものがって意味で)
340: 2017/11/30(木)19:20 ID:dqSyxXgg(1) AAS
>>338
RustがRustで書かれてるのだからRustのリポジトリのコードを読んで参考にすれば勉強になるのでは?

外部リンク:github.com
341: 2017/11/30(木)19:27 ID:uu2PxLG/(1) AAS
>>338
cと触れる部分はしょうがないんじゃないの?
その何回も触ってる部分をcで書いてインターフェイスを最小化した後で
rust から呼び出す方が正解なんじゃないかね。
343: 2017/12/01(金)00:53 ID:+mBQRpP6(1) AAS
>>338
> Rust的な設計の指針というかコツみたいのって無いですかね…

私も知りたいです!
344: 2017/12/01(金)18:20 ID:MEq6f57k(1) AAS
>>338 見た感じFoo::xxx : &mut Self -> BarとかFoo::zzz: &mut Self -> bazとなっているのでbarやbazが生きてるとfooにアクセスできないのが直近の原因だと思うけど、
xxxやzzzが本当にFooの変更を伴わないといけないのかを考えないといけない
CellやRefCellを使ってinterior mutabilityを導入したらFoo::xxx: &Self -> Barというメソッドにできる可能性がある
まあ実際のソースがどんなもんなのか知らないから適当だけど
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.031s