プログラミング言語 Rust 4【ワッチョイ】 (302レス)
上下前次1-新
22: (ワッチョイ b7eb-URfH) 2018/01/29(月)13:41 ID:P6u1lvxj0(1/2)調 AAS
dyn Traitが入ってしばらくしたらBox<Trait>はdisconになるの?
23: (アウアウカー Sa33-jWYD) 2018/01/29(月)14:45 ID:gyvOdhISa(1/2)調 AAS
deprecated扱いになって警告を出し次のepochで削除とかだったと思う
24: (ワッチョイ b7eb-URfH) 2018/01/29(月)17:30 ID:P6u1lvxj0(2/2)調 AAS
impl Trait入ったらそもそもほとんど使わなくなるから気にしなくていいのか。
25: (アウアウカー Sa33-jWYD) 2018/01/29(月)17:48 ID:gyvOdhISa(2/2)調 AAS
使うケース減るのもそうだけどepochで機能削除する場合はソースコードの変換ツールが提供されるらしい
あと古いepochのソースはそのままコンパイルできるらしいから特に対応不要らしい
だから新しいepochにしか入っていない機能を使いたいcrateとかでなければ何もしなくても困らないはずだし
その場合でも変換ツール通せば簡単に対応できるはず
26: (ワッチョイ aee8-URfH) 2018/01/29(月)21:18 ID:ltX/HOsy0(1)調 AAS
なるほど
27: (アウアウカー Sa33-jWYD) 2018/01/31(水)12:10 ID:/dPh0x6ka(1)調 AAS
2018年のロードマップのRFC出てる
https://github.com/rust-lang/rfcs/pull/2314
impl Traitついに安定化されるのか
28: (ドコグロ MM32-URfH) 2018/01/31(水)19:12 ID:hEoUgsMbM(1)調 AAS
epoch releaseってのはどういうことなんだってばよ?
29: (ワッチョイ 57b3-skLA) 2018/02/04(日)00:05 ID:VmMujkXk0(1)調 AAS
map: BTreeMap<K,V>で、keyが無かったら挿入、あったら格納されてる値vに応じて新しい値new_vに更新するか決めるってやりたいんだけど、
let v = map.entry(key).or_insert(new_v);
if ... {
*v = new_v;
}
よりもっと綺麗な書き方ある?
30: (ワッチョイ 9f9f-hXWc) 2018/02/04(日)01:05 ID:qOX3lZ+s0(1)調 AAS
and_modify() ?
31(1): (ワッチョイ f72d-MPJM) 2018/02/06(火)16:05 ID:95WYpRcW0(1)調 AAS
https://webassembly.studio/
CやRustでWebAssemblyできるOnlineIDEだそうな
32(1): (ワッチョイ 1723-pvQ8) 2018/02/07(水)00:06 ID:z0wRGtUY0(1)調 AAS
Rust Never Sleeps: Community Grows, Eclipse-Based IDE Planned
https://adtmag.com/articles/2018/02/01/rust-grows.aspx
33: (ドコグロ MMdf-ytvT) 2018/02/07(水)10:02 ID:tqZIcWxZM(1/2)調 AAS
>>31
ええやん
34: (ドコグロ MMdf-ytvT) 2018/02/07(水)10:05 ID:tqZIcWxZM(2/2)調 AAS
>>32
eclipseはいらんなあ
35: (ワッチョイ ffe8-ytvT) 2018/02/07(水)21:39 ID:HRWlDALX0(1)調 AAS
オライリー本読んだ?
36: (ワッチョイ 2ee8-dBQf) 2018/02/10(土)17:28 ID:EA1ZzrT70(1)調 AAS
wasmってまだプリミティブすぎて使い物にならないのかと思ってたけど wasm-bindgen すげえな
もうここまでできるのか
37: (ワッチョイ 42d2-Q8dp) 2018/02/10(土)18:48 ID:YRtNT72/0(1)調 AAS
Rustすごい!
takahito takabayashiさんのツイート: "ファミコンのエミュレータをRust / WebAssembly で書き直した
https://twitter.com/tatakaba/status/961532612723511296
38: (エムゾネ FF62-W92t) 2018/02/12(月)12:24 ID:4ugd2bUvF(1)調 AAS
梅手伝い
39: (ワッチョイ 457b-Zo0L) 2018/02/12(月)19:13 ID:g6Vhygc80(1/2)調 AAS
苦労して書き直しても全然パフォーマンス上がらないのな…
ぐうの音もでないほど効果があるユースケースってなんなんだ
40: (ワッチョイ 99b3-bLbK) 2018/02/12(月)21:38 ID:tHO1NU6P0(1)調 AAS
アルゴリズムが変わらないならそう変わらんのじゃないか
他人のひどいコードならともかく、同じ人が小規模なプログラムを書き直す程度だと特に
C/C++からRustへ書き直して速度が上がったって話はあんま聞いたことが無い
速いネイティブライブラリを言語に組み込んでるJuliaとかなら、書き直すだけで速度上がったって話はちらほら
pythonだったらnumpy使った方が楽でいいとかも
41: (ワッチョイ 457b-Zo0L) 2018/02/12(月)22:31 ID:g6Vhygc80(2/2)調 AAS
いやだってjavascriptだぜ?アルゴリズムの問題か?
42: (ワッチョイ 429f-hB4z) 2018/02/13(火)11:38 ID:L9OfLhwQ0(1/2)調 AAS
リリースビルドしてないとか
43: (アウアウカー Sa69-JNhP) 2018/02/13(火)13:55 ID:U6RMU7ria(1)調 AAS
結局本スレどこ?
44: (ワッチョイ 429f-hB4z) 2018/02/13(火)14:01 ID:L9OfLhwQ0(2/2)調 AAS
ここ
45(2): (ワッチョイ 469f-WY3D) 2018/02/14(水)10:32 ID:Sny1AUMZ0(1/2)調 AAS
c++もそうだがコンパイラに機能を詰め込むってのがそもそも筋が悪い
46(1): (ワッチョイ 2e98-BYkA) 2018/02/14(水)16:35 ID:wToAct7f0(1)調 AAS
>>45
どういうこと?じゃあどうすればいいの?
47: (ワッチョイ e1b3-CEXn) 2018/02/14(水)18:27 ID:KakS2s960(1)調 AAS
asm!だよ
48(1): (ワッチョイ 469f-WY3D) 2018/02/14(水)19:14 ID:Sny1AUMZ0(2/2)調 AAS
>>46
ライブラリ、もしくはツールに任せる。
49: (ワッチョイ ff98-znvk) 2018/02/15(木)02:06 ID:mcN0VL7z0(1)調 AAS
>>48
やっぱりちょっと分からないな。
RustやC++のどの辺がコンパイラに機能を詰め込んでると思うの?
ライブラリorツールに任せるってのもどの辺を任せたいのかな?
話がザックリし過ぎて言いたいことがよく分からないんだが。
50: (ワントンキン MM7f-yNWa) 2018/02/15(木)14:13 ID:exgu/6oKM(1)調 AAS
プリプロセッサマクロのことかな?あとは型システムとかGCのことかな?ライブラリに任せるの意味がよくわからんが…
51: (スップ Sd3f-swnP) 2018/02/15(木)17:01 ID:OS8rqPvzd(1)調 AAS
C++はコンパイラの方もだけど標準ライブラリでの機能実現も相応に多くて結果ソースの記述が煩雑になっているのは既知の事実でしょう
ライブラリや実装に任せた結果APIの統一が取れなくなって結局細かな仕様策定を余儀なくされたSchemeを見ても銀の弾丸でない事は明らかだよね
それに出来る事を増やすという点においてライブラリは有用だけど変数の不変性や型システムのような制限をする事に関してはコンパイラによしなにしてもらうより他ないよ
52: (ワッチョイ f7e0-T3WU) 2018/02/16(金)01:22 ID:W1XJdyx10(1)調 AAS
☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆
53: (ワッチョイ ffe8-vS7N) 2018/02/16(金)07:39 ID:455TYoTb0(1)調 AAS
やっとstableでrustfmtできるようになったな
54: (アウアウカー Sa6b-caOl) 2018/02/16(金)11:54 ID:sOKjApWVa(1)調 AAS
どうせ明日にはまたnightly限定になってるよ
55: (ワッチョイ 9f9f-RCVW) 2018/02/16(金)14:44 ID:o2oszjec0(1/2)調 AAS
最近のアップデートつまんねえなあ
56(1): (ワッチョイ 17eb-moIH) 2018/02/16(金)15:41 ID:xYOe+Cvi0(1)調 AAS
>>45は言語仕様の追加、更新が気に入らないんじゃないかな
try!の代わりに?なんて以ての外だ、みたいな?それ以外に思い付かなかったけど
1.0以前に@や~を削除してライブラリにぶん投げた辺りは希望通りな気がする
基本的に電池入りじゃないRustはライブラリやマクロの代わりの言語仕様の追加じゃなく
より効率的なバイナリを吐くための言語仕様の追加が多いイメージだけどなぁ、impl Traitとか
57: (ワッチョイ ff98-znvk) 2018/02/16(金)17:59 ID:ItA0QsEV0(1)調 AAS
>>56
あー、そういうこと。?記法は確かに若干違和感あったかもな。
でも実際、あれは便利なんだよなぁ。
File::open(path)?.read_to_string(&mut buf)?みたいに繋げられるから。
try!(try!(File::open(path)).read_to_string(&mut buf))は読みづらい。
かといって、
let mut file = try!(File::open(path));
try!(file.read_to_string(&mut buf))
みたいに2行に分けるのも面倒だし、無駄なローカル変数も出来れば避けたい。
結局、あれが妥当な判断だったと思うけど。
まぁ、stableにする必要あったのか?ってところで賛否両論あるかもね。
58: (ワッチョイ 9f9f-RCVW) 2018/02/16(金)19:47 ID:o2oszjec0(2/2)調 AAS
box キーワードは何時 stable になるんだ?
59(1): (ワッチョイ bf8a-LkcG) 2018/02/17(土)11:13 ID:J1S1NncJ0(1)調 AAS
boxキーワードはどういう時にうれしいのかがわからん
60(1): (ワッチョイ bf9f-Xz8k) 2018/02/17(土)11:16 ID:kwPbHgTn0(1)調 AAS
明らかに二行に分けた方が読みやすいわけだが。
新しい機能マンセー厨ってそういう感覚の狂いについて無自覚過ぎんだよね。
61: (ワッチョイ ffeb-moIH) 2018/02/17(土)13:27 ID:Nh87YVhF0(1)調 AAS
俺も違和感はあるけど、多くの人が賛意を出して採用されたんだから
>>60や俺の感覚が狂ってるんじゃね?自身の感覚の狂いって当然ながら無自覚過ぎんよ
boxは在り様の総意を取るの面倒だし、目下はBoxで運用できてるしで、いつまでもstableに来なさそう
ヒープを多用したい人には文法にあればありがたいんだろうけど、そもそもヒープが好まれんしのう
62: (ワッチョイ ffe8-vS7N) 2018/02/17(土)14:16 ID:+W6LcK0d0(1)調 AAS
boxっていきなりヒープにメモリ確保されるのが保証されたりするんじゃないの?
今はコンパイラ次第じゃん
63: (ワッチョイ bfe4-Ql/f) 2018/02/17(土)14:41 ID:IpKTSZVJ0(1)調 AAS
ironって今メンテされてないのか
最近のweb FWはrocketの方が人気なんかな
nightly専用だからまだ手を付けてないんだけど
64: (ワッチョイ 9f9f-RCVW) 2018/02/17(土)20:32 ID:QFQHB0DO0(1)調 AAS
>>59
https://rust-lang-ja.github.io/the-rust-programming-language-ja/1.6/book/box-syntax-and-patterns.html
> このように書くことでパフォーマンスを犠牲にすることなく、柔軟性を確保することができます。
知らないの?
65: (アウウィフ FF9b-LkcG) 2018/02/17(土)23:42 ID:9NiO1PZdF(1)調 AAS
それはInPlaceとかPlacerがあればよくてbox inはただのsyntax sugarでは
66: (ワッチョイ ffe8-vS7N) 2018/02/18(日)08:04 ID:SMMCMA600(1)調 AAS
分解のほうは新しいの?
67: (ワッチョイ ffeb-moIH) 2018/02/18(日)08:27 ID:5lvSpjte0(1)調 AAS
分解の方がよほどsyntax sugarじゃないのかいな
NightlyのInPlace, Placer使わなくても、Stableの環境でmacro使って実現出来そう
68: (ワッチョイ 97b3-28Ds) 2018/02/18(日)10:49 ID:/vdt0GUK0(1)調 AAS
boxって名前はBox<T>以外に使う場面で綺麗に見えない
place <- exprは代入みたい
69: (ブーイモ MMcf-jtfM) 2018/02/20(火)18:44 ID:QamN8HfjM(1)調 AAS
tokio-coreなくなるんか
一通り組み上がった後の悲しいニュース
70: (ワッチョイ bfe4-Ql/f) 2018/02/20(火)21:05 ID:n66ylLug0(1)調 AAS
まじか、ちょっと辛いな
依存してるライブラリも結構あるよね
71(1): (ワッチョイ 9ff7-QEWT) 2018/02/21(水)00:49 ID:s9stOBAB0(1)調 AAS
ワッチョイなしの方アンチが暴れてる
72: (ワッチョイ ff98-e/1Q) 2018/02/21(水)00:56 ID:kjg0KAFU0(1)調 AAS
tokio系列のやつってtokioとかtokio-coreとかtokio-ioとかtokio-protoとか複数あってよく分からんのよね
tokio-ioのリポジトリにはtokioに移動したからもう使うなって書いてあるし
tokio-coreは移動じゃなくて廃止予定って書いてある…
tokio-protoはそのまま?tokio-timerとかtokio-serviceとかよく知らんリポジトリもあるし…
誰か各クレートの特徴(役割)と関係性を教えてくれ
73: (ドコグロ MMdf-vS7N) 2018/02/21(水)19:02 ID:ariB2x93M(1)調 AAS
>>71
あっちは、アンチが立てたキチガイ専用スレだからいいんだよ
74: (ブーイモ MMcf-jtfM) 2018/02/21(水)19:11 ID:2b1o4F67M(1)調 AAS
コミットを追うとtokio-coreはtokioに変わったように見える
tokio-core=tokioでtokioの本体
tokio-ioはtokio-coreを使って非同期ioを実装したものだったがしゃらくせえのでtokio-coreに取り込んだのかな
tokio-protoはtokio-coreを使ってネットワークプロトコルを実装したものだったがしゃらくせえからtokio-coreに取り込んだのかな
つまり tokio = tokio-core + tokio-io + tokio-proto
か?
75: (ワッチョイ 97b3-T3WU) 2018/02/21(水)23:28 ID:J5LO2Gvl0(1)調 AAS
[] [[[ [[ [] ][ [] [ ] [] ][]] [[[ [] }
76: (ワッチョイ fc23-Yogk) 2018/02/22(木)13:48 ID:H839Tp+80(1)調 AAS
tokio-protoとtokio-serviceってtrait宣言が主体のインターフェース定義クレートだったような?
前者はクライアント、後者はサーバに適したインターフェースが定義されてた覚えがある
io, timer, cpupoolなんかはユーティリティ機能が実装されてたよな
統合の基準はどこかで議論されたんだろうけど、どこでやってたのかな
77: 2018/02/28(水)17:58 AAS
【お知らせ】Packt出版より Network Programming with Rust が発売されました。
78: (ワッチョイ 67b3-C/rw) 2018/03/07(水)19:47 ID:LRCrToXv0(1/2)調 AAS
https://play.rust-lang.org/?gist=cb511b34bc3ffbb43b8589a24156337a&version=stable
let mut foo = Foo{ a:0, b:0, c:0 };
let aaa = ["5", "432", "3"].iter().flat_map(|i| i.parse::<u32>()).collect::<Vec<_>>();
foo.a = aaa[0];
foo.b = aaa[1];
foo.c = aaa[2];
Rustってこれ以外に書き方ありませんか?
tupleでやってみるとleft-hand of expression not validと出ました
79(1): (ドコグロ MM9b-sUza) 2018/03/07(水)20:33 ID:sBnyF32KM(1)調 AAS
だめなコードはらないと何がしたいか分かりません
80: (ワッチョイ df9f-UDKA) 2018/03/07(水)20:41 ID:jzt3Aumo0(1/2)調 AAS
だよなw 何をしたいのか分からんよなw
81: (ワッチョイ 67b3-y/90) 2018/03/07(水)21:26 ID:LRCrToXv0(2/2)調 AAS
>>79
大量のフィールドに値を入れるのって
一行一行書くしかありませんか?
82: (ワッチョイ df9f-UDKA) 2018/03/07(水)21:29 ID:jzt3Aumo0(2/2)調 AAS
一行にしたいなら
foo = Foo { a: aaa[0], b: aaa[1], c: aaa[2] };
でも良いだろ。
部分書換なら
foo = Foo { a: aaa[0], .. foo };
とかもある。
83(1): (ワッチョイ 7e95-gb/e) 2018/03/08(木)01:34 ID:4NfI3sqt0(1)調 AAS
1.24.1は何のリリース?
84: (ワッチョイ beeb-YOOT) 2018/03/11(日)12:10 ID:eSLd4gfv0(1)調 AAS
朗報: ついにウェブプラットフォームでRustが速度性能トップを取る
https://www.techempower.com/benchmarks/#section=data-r15&hw=ph&test=plaintext
なお、JSON操作を伴うとJavaにも劣る模様
ツリー制御が不得意すぎて笑うわ
85: (ワッチョイ 23b3-I9YF) 2018/03/11(日)13:43 ID:Q5vGc4iJ0(1)調 AAS
JSON serializationはそんなに悪くないんじゃね?tokio-minihttpで96.2%出てる。
それよりSingle QueryとMultple Queryが遅いのが問題じゃね?
86: (ワッチョイ 2f97-6XBc) 2018/03/11(日)17:59 ID:9uw0Jco60(1)調 AAS
serdeでシリアライズだけするぶんにはjavaの1.4倍くらい早かったんだけどなあ(俺調べ)
87: (ワッチョイ 1f0e-kj1m) 2018/03/17(土)21:44 ID:zUTKt+H50(1/2)調 AAS
Rust book first editionからの変更知りたいんだけどバージョン差分どこでまとめられてる?
88: (ワッチョイ 1f0e-kj1m) 2018/03/17(土)21:47 ID:zUTKt+H50(2/2)調 AAS
https://github.com/rust-lang/rust/blob/master/RELEASES.md
ここか
89(1): (ブーイモ MM5b-FuQQ) 2018/03/18(日)07:04 ID:esGNO3D8M(1)調 AAS
1.24.1てなんなんだろ
90: (ワッチョイ 1bd2-SmQe) 2018/03/18(日)20:50 ID:M8FazHkP0(1)調 AAS
>>83>>89
なんで自分で調べようともしないの?
Rust Languageさんのツイート: "Announcing Rust 1.24.1: we had some regressions in 1.24.0, so we've released a patch release. Please check it out! https://t.co/zrItc0qiqD"
https://twitter.com/rustlang/status/969367994072739841 ◎
Rock54: Caution(BBR-MD5:b73a9cd27f0065c395082e3925dacf01)
91(2): (ワッチョイ 2bb3-ogOK) 2018/03/18(日)21:36 ID:kfSBwJmk0(1)調 AAS
Iterator::mapに渡すクロージャ内で、クロージャ内の変数への参照を持つstructを返したい時ってどう対処するのが正解ですか?
https://play.rust-lang.org/?gist=a15e0dfa10339570fef5b9225761a9f0&version=stable
92(2): (ワッチョイ bdb3-kj1m) 2018/03/18(日)23:09 ID:UNqGf23T0(1)調 AAS
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
多分、頭の良い人ならもっと綺麗な説明と解法があるんだろうけど
93(1): (ワッチョイ 2bb3-yeMC) 2018/03/19(月)07:39 ID:bmK7HIBH0(1/2)調 AAS
>>92
ありがとうございます
仮引数mのライフタイムはmain関数が抜けるまでだから通るということで合っていますか
またVecではなくIterator::Mapだと駄目な理由は、Iterator::Mapはcollectされるまでクロージャが実行されないから…とかでしょうか
94(1): (ワッチョイ bdb3-kj1m) 2018/03/19(月)13:44 ID:aUxUFBJe0(1/2)調 AAS
>>93
仮引数mのライフタイムはクロージャ内なのは変わらないよ。>>92は仮引数を参照じゃなく消費してるから通る(>>92の&mじゃなくてmで良い)
クロージャが実行されないから、ではなく、mochiの値が消費されてるのにその参照を持たせようとしてるから駄目
試しに>>91のコードでmochi.map(|m| { 0 })とか書いて、mochiをprintln!に渡してみようとすると怒られるよ。もう使ってるって。
そこらへんの細かいルールを覚えるの大変だし、コンパイラもまだ分かりやすいエラーメッセージ吐いてくれないから、
・参照を使うときは、参照元をちゃんと生かしておくこと
・参照を使った構造体は、元の値を修飾(見方を変える、新しい機能を持たせる等)するようなパターンに限定すること
を守るようにした方がいいよ
95: (ワッチョイ 2bb3-yeMC) 2018/03/19(月)21:04 ID:bmK7HIBH0(2/2)調 AAS
>>94
「消費したものの参照を持たせるのは駄目」と「消費しているから通る」はそれぞれはわかる気がするのですが、両方となると…
前者の「消費したもの」と後者(main関数中生き続けるMochiのベクトル)は別物だと思うのですが、
前者で駄目な理由は関数中生き続けるMochiがない(mapを呼び出しただけでは駄目)ということですか?
96(1): (ワッチョイ bdb3-kj1m) 2018/03/19(月)23:26 ID:aUxUFBJe0(2/2)調 AAS
「消費されるので通る」じゃ言葉足らずでした。「参照じゃなくmoveして延命している」の方が通じるかも
>>91のコードを整理すると
1. HitoはMochiの参照を持ってるから、Hitoが有効なスコープ中はMochiも有効じゃないといけない
2. mochiはinto_iterで作られてるからMochi型を吐き出す、けど所有はしない
3. なのにmochizukiはmochi.map()で各要素への参照しか持たない
4. mochiから吐き出されたMochiの受け皿が無いんでエラーになる
これを解決するには
1を変えてHitoがMochiを所有するようにデータ構造を変える
2で作られたMochi型の値をしっかり保持する変数を用意する
の2種類くらいしか思いつかん。
Does Not Live Longエラーはライフタイムがどうのこうのと小手先で弄るより、
値の所有者を明快にしたり、データ構造を見直してみると案外素直に直せるのが経験則。
97(2): (ワッチョイ abb6-ogOK) 2018/03/20(火)13:21 ID:RDB2KieC0(1)調 AAS
>>96
loop{
let (a, cond): (&str, bool) = get_too_many_str();
let m = Mochi{aji: a};
let h = Hito {m : &m};
if(cond){ break; }
}
// ここでhのvecが欲しい
この場合は、ムーブする(ループより長いライフライムの)変数がないので1の手法しかないということになりますか?
そこそこでかい文字列を扱っているので気を使っていたのですが、この場合Stringにすべきでしょうか
98: (ワッチョイ bdb3-kj1m) 2018/03/20(火)14:30 ID:UUyTwokV0(1)調 AAS
大きい文字列を扱うから参照にしたいってのは普通にあるし分かるけど
Hitoが&MochiでなくMochiをメンバに持つようになっても文字列のコピーは行われないよ
自分なら>>97のget_too_many_str()が返す&strの元を誰が保持するのかをまず気にする
そこをしっかり把握してれば文字列のコピーは最低限になるはずだから
99: (ワッチョイ eb2d-4xVl) 2018/03/20(火)16:38 ID:P+YmZBwi0(1)調 AAS
>>97
んー、自分なら そこだけに使うMochiCow型作ってでも
ajiの型をCowにして凌ぐかな
100: (ワッチョイ 2bb3-yeMC) 2018/03/21(水)11:43 ID:cBTkQiaM0(1)調 AAS
&strの元もloop内の変数が持っています
hのvecを作るにはコピーは避けられないようですね…
&strからStringに変えたところhvec.push(h)してもエラーにはなりませんでしたが、
スコープを抜けたはずの変数が使える理由ってどこかに書いていますか?
101: (ワッチョイ bdb3-kj1m) 2018/03/21(水)14:53 ID:9rI6JIRt0(1)調 AAS
そりゃloop内の変数hから、loop外のhvecに所有権が移動したから
頭の中に入れておける物なんて極わずかだし、場当たり的にdoes not live longエラーに対処するのは大変なので、
・値の所有者はどの変数であるべきか
・データ構造はどうあるべきか
という観点だけ念頭にいれて、「性能を稼ぐために参照を使おう」って考えを一旦外すとスッキリするよ
102: (ワッチョイ ff9f-e5q7) 2018/04/15(日)17:27 ID:YDqAu+LL0(1)調 AAS
こっちが本スレと聞いて
103: (ワッチョイ cfe8-2eiy) 2018/04/15(日)21:42 ID:eccSQZbu0(1/2)調 AAS
しかしここには俺はいない
104: (ワッチョイ cfe8-2eiy) 2018/04/15(日)21:42 ID:eccSQZbu0(2/2)調 AAS
まちがえた
俺しかいない
105: (ワッチョイ ffd2-EWy0) 2018/04/15(日)22:10 ID:33fSNzq50(1)調 AAS
俺もいるぞ
106: (アウアウエー Sadf-Mqc2) 2018/04/15(日)22:44 ID:UX4y5Mn1a(1)調 AAS
てst
107: (ワッチョイ cfe8-2eiy) 2018/04/16(月)07:13 ID:pzKlDNeX0(1)調 AAS
まともな話題はslackいっちゃうのかな。
匿名で喋りたいのはアンチ向きか
108(1): (ワッチョイ a364-0hQO) 2018/05/08(火)02:44 ID:kruQSPFC0(1)調 AAS
別にアンチって訳じゃないけど、コンパイルが遅すぎる(特に最適化掛けた場合に)のはどうかと思う。
実行が速くてもその生成に時間が掛かれば無意味でしょう……。
109: (ワッチョイ 8a2d-pRx+) 2018/05/08(火)05:31 ID:4Vs0GKvV0(1)調 AAS
>>108
Rustで組んだ新Firefoxの動作が2倍ほど速くなったのは無意味?
110: (ワッチョイ 1f97-q47z) 2018/05/08(火)07:00 ID:EnN/pyur0(1)調 AAS
逆なら理解できるけど
111: (ドコグロ MM2b-4ryL) 2018/05/08(火)08:36 ID:Hy6hpXT/M(1)調 AAS
まあコンパイルは遅いわな。
ていうかcargoの仕組みが問題なだけか?
112: (ワッチョイ 0bb3-XZ5U) 2018/05/08(火)20:14 ID:T0pMALEX0(1)調 AAS
rustcで単一ファイルだけコンパイルすると結構速いなと思った
cargoって警告無視のオプション(-Awarning)の有無でも一からビルドしようとしたりちょくちょくお粗末
113: (ワッチョイ f564-n6Dg) 2018/05/10(木)20:35 ID:zLx1ZI770(1)調 AAS
なんかRustってテスト用と製品用で別々の最適化を施せるんじゃなかったっけ。
俺は自分の為だけにRustを使ってるのであまり気にしたことがないが。
114: (ドコグロ MM43-CJWe) 2018/05/12(土)12:11 ID:OzyUIrxEM(1)調 AAS
https://blog.rust-lang.org/2018/05/10/Rust-1.26.html
impl Trait来たから
久しぶりにさわってみるかな
115: (JP 0Ha1-pXmg) 2018/05/23(水)12:09 ID:6kVmIohDH(1)調 AAS
ほとんどc++に見えるの俺だけ?
116: (ワッチョイ 5523-/w+O) 2018/05/23(水)12:29 ID:4/oN1Bt60(1)調 AAS
みんな言ってる
117: (ワッチョイ 89fa-9WOx) 2018/05/23(水)23:15 ID:Au5e7VGg0(1)調 AAS
確実にどんな人でも可能なネットで稼げる情報とか
念のためにのせておきます
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
C717P
118: (JP 0Hcd-6rHD) 2018/05/28(月)09:59 ID:N9/pBFPWH(1/4)調 AAS
rustを始めたんだけど
分かりそうで分からなくて
イライラする
なんだこの言語
119: (ワッチョイ 512d-MMi0) 2018/05/28(月)11:01 ID:4ZqBL5Re0(1/2)調 AAS
他の言語の経験にもよるけど 3000行ほど書けば慣れるよ(適当
120: (JP 0Hcd-6rHD) 2018/05/28(月)11:14 ID:N9/pBFPWH(2/4)調 AAS
actix_webでちょちょいとwebサービス作ろうと思っただけなんだが
externとuseみたいに、なんで同じようなものが2つ有るのとか
trait?、インプリすればいいだけならなんでこんな名前なんだとか
121: (ワッチョイ 512d-MMi0) 2018/05/28(月)11:44 ID:4ZqBL5Re0(2/2)調 AAS
察するにJava経験者かね
externは外部ライブラリのモジュールを参照する宣言
modは自身のフォルダ以下のモジュールを参照する宣言
useはモジュールの要素(Struct or Trait)を取り込む宣言
pub use self::MyStruct; // 要素をexportしたり
use std::io::Error as IOError; // as で別名つけたり
use super::Result; // 上位の型を取り込んだり(mod.rs以外からだと同一フォルダのmod.rsを見にいくので注意)
肝はselfとsuperを使いこなすことかと
このあたりリファレンスに書いてあるんで落ち着いて読んでもらえばいいけど
インプリについては、Trait = Interface(Java)の理解でそれほど差し支えない気もするけど
(定数は同じ階層のmoduleに移す)
AssosiatedTypeがあるように"Traitはコンパイル時に解決できる"ものってのを
意識してればその内に腑に落ちるんじゃないかな
ただこんなこと言うと
「RustのTraitは厳密なtraitじゃない論争」(Wikipedia参照)が始まっちゃうかもしれないので
ゆるく受け流してほしいところ
上下前次1-新書関写板覧索設栞歴
あと 181 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.029s