プログラミング言語 Rust 4【ワッチョイ】 (302レス)
プログラミング言語 Rust 4【ワッチョイ】 http://mevius.5ch.net/test/read.cgi/tech/1514107621/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
92: デフォルトの名無しさん (ワッチョイ bdb3-kj1m) [sage] 2018/03/18(日) 23:09:22.36 ID:UNqGf23T0 does not live longエラー関係は自分が思ってるより広い視点で見た方が解決するんじゃないかなあ Hito.konomi_no_mochiは参照なんだから、参照元としてVec<Mochi<'a>>を保持しないと駄目なんじゃね? =>mochiがMapになってて分かりにくい =>とりあえずcollectさせてVec<Mochi>持ったら動いた みたいな。 https://play.rust-lang.org/?gist=6c9947e3584f1feb5bb14f07d27aa9c7&version=stable 多分、頭の良い人ならもっと綺麗な説明と解法があるんだろうけど http://mevius.5ch.net/test/read.cgi/tech/1514107621/92
93: デフォルトの名無しさん (ワッチョイ 2bb3-yeMC) [sage] 2018/03/19(月) 07:39:54.89 ID:bmK7HIBH0 >>92 ありがとうございます 仮引数mのライフタイムはmain関数が抜けるまでだから通るということで合っていますか またVecではなくIterator::Mapだと駄目な理由は、Iterator::Mapはcollectされるまでクロージャが実行されないから…とかでしょうか http://mevius.5ch.net/test/read.cgi/tech/1514107621/93
94: デフォルトの名無しさん (ワッチョイ bdb3-kj1m) [sage] 2018/03/19(月) 13:44:00.51 ID:aUxUFBJe0 >>93 仮引数mのライフタイムはクロージャ内なのは変わらないよ。>>92は仮引数を参照じゃなく消費してるから通る(>>92の&mじゃなくてmで良い) クロージャが実行されないから、ではなく、mochiの値が消費されてるのにその参照を持たせようとしてるから駄目 試しに>>91のコードでmochi.map(|m| { 0 })とか書いて、mochiをprintln!に渡してみようとすると怒られるよ。もう使ってるって。 そこらへんの細かいルールを覚えるの大変だし、コンパイラもまだ分かりやすいエラーメッセージ吐いてくれないから、 ・参照を使うときは、参照元をちゃんと生かしておくこと ・参照を使った構造体は、元の値を修飾(見方を変える、新しい機能を持たせる等)するようなパターンに限定すること を守るようにした方がいいよ http://mevius.5ch.net/test/read.cgi/tech/1514107621/94
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.017s