[過去ログ]
プログラミング言語 Rust 4 (1002レス)
プログラミング言語 Rust 4 http://mevius.5ch.net/test/read.cgi/tech/1507970294/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
70: デフォルトの名無しさん [sage] 2017/11/07(火) 20:38:24.64 ID:vWfvN4c5 https://ideone.com/XBh9VX ・AA treeを実装 ・1.8.0で主に確認(ideoneは1.14.0) ・Rc<RefCell<Option<Node<T>>>>を中心に実装 ・ふんだんにRc::clone()を乱発 ・Tも<T: Copy>でコピーしちゃう ・肝心の木の操作部分は、wikipediaでの表現に近くなるように表現 ・基本的によく分かってないので色々奇妙な事をしているかもしれない 昔からチラホラ「Rustで木構造は苦しい」と耳にしてて興味があったのと 最近ほかのスレで実装してた人がいたのをみて触発されたので書いた 最初はOption<Rc<Node<T>>>で書いてたけど RcとRefCellの組み合わせを試してみたくなって方向転換 けっきょくどっちが正解だったのかは不明 http://mevius.5ch.net/test/read.cgi/tech/1507970294/70
73: デフォルトの名無しさん [] 2017/11/08(水) 01:15:10.36 ID:T1vINdZw >>70 「他スレで実装してた人」って俺のことだな。 ↓のスレのことだろ? 次世代言語Part7[Go Rust Swift Kotlin TypeScript] https://mevius.5ch.net/test/read.cgi/tech/1508403098/ 木構造は持ち主(親)が1つに限定されるはずのでRcもRefCellもいらないと思うよ。 実際 、自分はOption<Box<_>>という形で実装してるし。 RcとRefCellの練習するんならグラフ構造とかがいいじゃないかな。 グラフ構造ならRcとRefCellはほぼ必須になるんじゃないかな。 グラフ構造はRustどころかC, C++でも実装したことないから詳しくは分からんけども。 >>72 俺の実装では、Option型のtakeメソッドを使ってるぞ。 そしてtakeメソッドの中ではunsafeが使われてる。だからコピーもないはず。 そのことじゃないのか?俺のほうが何か勘違いしてる?? http://mevius.5ch.net/test/read.cgi/tech/1507970294/73
74: 70 [sage] 2017/11/08(水) 20:27:30.89 ID:iPjR8aCv https://ideone.com/4BnXSI ・AA treeを実装 ・1.8.0で主に確認(ideoneは1.14.0) ・今回はOption<Box<Node<T>>>中心に実装 ・Tも<T: Copy>でコピーしちゃう ・肝心の木の操作部分は、wikipediaでの表現に近くなるように表現 ・前の奴>>70のコピペから開始してるから妙なとこ残ってるかも >>72 wikipedia見ただけでそのへんに着目できたのってすごい 前回は実はそこで一旦あきらめてコピーとOption<T>の導入に踏み切った 今回もTのコピーうんぬんについては挑戦せずそのまんまコピーしてる http://mevius.5ch.net/test/read.cgi/tech/1507970294/74
77: 70 [sage] 2017/11/09(木) 19:44:06.23 ID:1u6Rcsa8 https://ideone.com/dFoFa9 ・>>70の<T: Copy>を<T: Clone>に変更 ・ついでにRc付きで運用してみて様子を観察 でっかい構造体の場合はこういうふうなのがマシなのかな Clone運用してるとこに、さらにRcもってくると気持ちよすぎ おかげで内部の操作に由来した余計な割り当ては無くなった CloneトレイトとRcには敬意を表したい >>75 そこんとこの苦悩はもうしゃあないのかな それについてはもう思考停止します http://mevius.5ch.net/test/read.cgi/tech/1507970294/77
78: 77 [sage] 2017/11/09(木) 19:45:08.89 ID:1u6Rcsa8 ×・>>70の<T: Copy>を<T: Clone>に変更 ○・>>74の<T: Copy>を<T: Clone>に変更 http://mevius.5ch.net/test/read.cgi/tech/1507970294/78
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.039s