プログラミング言語 Rust 4【ワッチョイ】 (302レス)
1-

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
外部リンク:play.rust-lang.org
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ってこれ以外に書き方ありませんか?
省1
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が速度性能トップを取る
外部リンク:www.techempower.com

なお、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
外部リンク[md]:github.com
ここか
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! 外部リンク:t.co
Twitterリンク:rustlang

Rock54: Caution(BBR-MD5:b73a9cd27f0065c395082e3925dacf01)
91
(2): (ワッチョイ 2bb3-ogOK) 2018/03/18(日)21:36 ID:kfSBwJmk0(1) AAS
Iterator::mapに渡すクロージャ内で、クロージャ内の変数への参照を持つstructを返したい時ってどう対処するのが正解ですか?
外部リンク:play.rust-lang.org
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>持ったら動いた
みたいな。
外部リンク:play.rust-lang.org
多分、頭の良い人ならもっと綺麗な説明と解法があるんだろうけど
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!に渡してみようとすると怒られるよ。もう使ってるって。

そこらへんの細かいルールを覚えるの大変だし、コンパイラもまだ分かりやすいエラーメッセージ吐いてくれないから、
・参照を使うときは、参照元をちゃんと生かしておくこと
・参照を使った構造体は、元の値を修飾(見方を変える、新しい機能を持たせる等)するようなパターンに限定すること
省1
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の受け皿が無いんでエラーになる

これを解決するには
省5
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; }
}
省3
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
外部リンク[html]:blog.rust-lang.org

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を見にいくので注意)
省9
122
(1): (アウアウカー Sa95-QCrH) 2018/05/28(月)12:36 ID:KX350+9ka(1) AAS
extern/use周りをrefineする話ってどうなった?
123: (ブーイモ MM33-Cz+B) 2018/05/28(月)13:07 ID:Yj33g/c2M(1) AAS
>>122
一応2018の予定には入ってるけどまだ作業中じゃない?
外部リンク[html]:rust-lang-nursery.github.io
124
(1): (JP 0Hcd-6rHD) 2018/05/28(月)14:35 ID:N9/pBFPWH(3/4) AAS
チュートリアルの和訳のところを読んでいるけど
誰が訳したんだろう。。。
125: (ワッチョイ f1fb-DqgS) 2018/05/28(月)15:45 ID:AY4+K2YC0(1) AAS
extern crateは、includeとかload libraryぐらいの意味だと思えばいいと思うが、
「え、それ、Cargo.tomlにもう書いたやん」って思うのは当然の感覚だな
126: (JP 0Hcd-6rHD) 2018/05/28(月)15:47 ID:N9/pBFPWH(4/4) AAS
しばらくしたら言語仕様変わりそうだなあこれ
勉強していくべきなのかどうか迷う
127: (ワッチョイ 319f-NyY8) 2018/05/28(月)16:38 ID:WepGeDn70(1) AAS
仕様の改定はc++のようにコンパイラのリリースとは別に2〜3年毎に定めることになってる
将来のコンパイラでも古い仕様を選択して使えるはず
128: (アウアウカー Sa95-QCrH) 2018/05/28(月)17:33 ID:dK7cJGyKa(1) AAS
どんな言語でも利用者多ければライブラリーのトレンド変わっていって学び直しはあるし
言語仕様の変更だけ特別視する理由が分からん
129: (ワッチョイ 139f-P0uv) 2018/05/28(月)18:01 ID:b/gKZOsn0(1) AAS
ver1.0になったし、firefoxに200kstepのソースがあるから始めるなら今でしょ
130: (ワッチョイ 7b76-Z0cF) 2018/05/28(月)21:33 ID:hIMCbSeD0(1) AAS
ruby1.8から1.9とか
python2から3の変更とか
嫌じゃん

言語もライブラリも混在してぐちゃぐちゃ
131: ◆QZaw55cn4c (ワッチョイ d360-Ockd) 2018/05/28(月)22:15 ID:dVAXJXVu0(1) AAS
>>124
和訳は最新に追いついていないと思います、公式英文を確認したほうがいい
132: (ワッチョイ 93d4-Cz+B) 2018/05/28(月)23:47 ID:cVR0FGXk0(1) AAS
Rustの場合仕様変更の影響を受ける記述はコンパイラがwarning(とsuggestion)出してくれるみたいだし
むしろライブラリのアップデートより楽なんじゃないかな
133: (ワッチョイ 7b76-Z0cF) 2018/05/29(火)08:16 ID:dnBokp3T0(1) AAS
やりたいことをするのに1日使って50%しかできなかった

自分には無理だこの言語
134: (ドコグロ MM3d-BXJA) 2018/05/29(火)08:53 ID:GEfewF+tM(1) AAS
50%できればすごいって
135: (ワッチョイ d6e8-v2bY) 2018/06/01(金)07:30 ID:gpIIxUGF0(1) AAS
1.26の新機能自分のcrateにもう入れた?
136: (アウーイモ MM09-fOff) 2018/06/01(金)19:39 ID:RsiXZK4kM(1) AAS
土台?
137: (ワッチョイ ebe8-hnG7) 2018/06/11(月)19:45 ID:woYxJr3K0(1) AAS
ここにまともなRustユーザいないのは年寄りしかいないからなのかなぁ
138
(1): (ワッチョイ 1b8a-ZvXG) 2018/06/12(火)00:28 ID:U7oXkFlj0(1) AAS
slackかtwitterでコミュニケーションとれるので5chへ書き込みたい事情があまりない
139: ◆QZaw55cn4c (ワッチョイ d360-EqDK) 2018/06/12(火)00:34 ID:QT2PgMnm0(1) AAS
>>138
おすすめのハッシュタグはなんでしょうか?
140: (ドコグロ MMa3-hnG7) 2018/06/12(火)08:25 ID:ESFTg/QrM(1) AAS
そう言われてみると確かにない。
141: (ワッチョイ 139f-A+ht) 2018/06/12(火)09:41 ID:Sk+2Pu3l0(1) AAS
もっとメジャーになってslackが荒れて来たらここもワンちゃん
142: (アウアウカー Sa2d-ZvXG) 2018/06/12(火)12:05 ID:QKuSZN5/a(1) AAS
ハッシュタグというより界隈の人間フォローしてる
143: (ワッチョイ ebe8-hnG7) 2018/06/12(火)19:39 ID:twlm3/XD0(1) AAS
slackで発言できないアンチにしか存在価値がないのかぁ
144: (ワッチョイ 81b3-z/w5) 2018/06/12(火)21:30 ID:d/RZ9PcJ0(1) AAS
slackのどこで喋ってるの?さ
145: (ワッチョイ e164-TJEr) 2018/06/13(水)07:40 ID:Iw3p0Ou70(1) AAS
アンチに限らず匿名文化は一定数必要でしょう。
146: (ワッチョイ 139f-A+ht) 2018/06/13(水)13:01 ID:jLut3S1H0(1) AAS
つまり変な人でもスレに繰るなら、山の賑わい人気の証ってことね
147: (ワッチョイ 1fbe-BrdL) 2018/06/23(土)20:45 ID:MX9PBj5g0(1) AAS
Vec内のアイテムを複数条件やand or等をユーザに指定させてフィルタリングをしたいのですが
無理にでもSQL使うべきでしょうか
1-
あと 155 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.020s