プログラミング言語 R ..
[2ch|▼Menu]
71:デフォルトの名無しさん
18/02/21 00:49:13.91 s9stOBAB0.net
ワッチョイなしの方アンチが暴れてる

72:デフォルトの名無しさん
18/02/21 00:56:09.93 kjg0KAFU0.net
tokio系列のやつってtokioとかtokio-coreとかtokio-ioとかtokio-protoとか複数あってよく分からんのよね
tokio-ioのリポジトリにはtokioに移動したからもう使うなって書いてあるし
tokio-coreは移動じゃなくて廃止予定って書いてある…
tokio-protoはそのまま?tokio-timerとかtokio-serviceとかよく知らんリポジトリもあるし…
誰か各クレートの特徴(役割)と関係性を教えてくれ

73:デフォルトの名無しさん
18/02/21 19:02:38.89 ariB2x93M.net
>>71
あっちは、アンチが立てたキチガイ専用スレだからいいんだよ

74:デフォルトの名無しさん
18/02/21 19:11:26.04 2b1o4F67M.net
コミットを追うと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:デフォルトの名無しさん
18/02/21 23:28:42.27 J5LO2Gvl0.net
[] [[[ [[ [] ][ [] [ ] [] ][]] [[[ [] }

76:デフォルトの名無しさん
18/02/22 13:48:53.41 H839Tp+80.net
tokio-protoとtokio-serviceってtrait宣言が主体のインターフェース定義クレートだったような?
前者はクライアント、後者はサーバに適したインターフェースが定義されてた覚えがある
io, timer, cpupoolなんかはユーティリティ機能が実装されてたよな
統合の基準はどこかで議論されたんだろうけど、どこでやってたのかな

77:デフォルトの名無しさん
18/02/28 17:58:52.09 .net
【お知らせ】Packt出版より Network Programming with Rust が発売されました。

78:デフォルトの名無しさん
18/03/07 19:47:20.60 LRCrToXv0.net
URLリンク(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ってこれ以外に書き方ありませんか?
tupleでやってみるとleft-hand of expression not validと出ました

79:デフォルトの名無しさん
18/03/07 20:33:15.97 sBnyF32KM.net
だめなコードはらないと何がしたいか分かりません

80:デフォルトの名無しさん
18/03/07 20:41:08.80 jzt3Aumo0.net
だよなw 何をしたいのか分からんよなw

81:デフォルトの名無しさん
18/03/07 21:26:04.44 LRCrToXv0.net
>>79
大量のフィールドに値を入れるのって
一行一行書くしかありませんか?

82:デフォルトの名無しさん
18/03/07 21:29:17.37 jzt3Aumo0.net
一行にしたいなら
foo = Foo { a: aaa[0], b: aaa[1], c: aaa[2] };
でも良いだろ。
部分書換なら
foo = Foo { a: aaa[0], .. foo };
とかもある。

83:デフォルトの名無しさん
18/03/08 01:34:04.75 4NfI3sqt0.net
1.24.1は何のリリース?

84:デフォルトの名無しさん
18/03/11 12:10:25.91 eSLd4gfv0.net
朗報: ついにウェブプラットフォームでRustが速度性能トップを取る
URLリンク(www.techempower.com)
なお、JSON操作を伴うとJavaにも劣る模様
ツリー制御が不得意すぎて笑うわ

85:デフォルトの名無しさん
18/03/11 13:43:13.82 Q5vGc4iJ0.net
JSON serializationはそんなに悪くないんじゃね?tokio-minihttpで96.2%出てる。
それよりSingle QueryとMultple Queryが遅いのが問題じゃね?

86:デフォルトの名無しさん
18/03/11 17:59:47.19 9uw0Jco60.net
serdeでシリアライズだけするぶんにはjavaの1.4倍くらい早かったんだけどなあ(俺調べ)

87:デフォルトの名無しさん
18/03/17 21:44:59.24 zUTKt+H50.net
Rust book first editionからの変更知りたいんだけどバージョン差分どこでまとめられてる?

88:デフォルトの名無しさん
18/03/17 21:47:17.89 zUTKt+H50.net
URLリンク(github.com)
ここか

89:デフォルトの名無しさん
18/03/18 07:04:56.79 esGNO3D8M.net
1.24.1てなんなんだろ

90:デフォルトの名無しさん
18/03/18 20:50:19.82 M8FazHkP0.net
>>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! URLリンク(t.co)
URLリンク(twitter.com) 👀
Rock54: Caution(BBR-MD5:b73a9cd27f0065c395082e3925dacf01)


91:デフォルトの名無しさん
18/03/18 21:36:06.49 kfSBwJmk0.net
Iterator::mapに渡すクロージャ内で、クロージャ内の変数への参照を持つstructを返したい時ってどう対処するのが正解ですか?
URLリンク(play.rust-lang.org)

92:デフォルトの名無しさん
18/03/18 23:09:22.36 UNqGf23T0.net
does not live longエラー関係は自分が思ってるより広い視点で見た方が解決するんじゃないかなあ
Hito.konomi_no_mochiは参照なんだから、参照元としてVec<Mochi<'a>>を保持しないと駄目なんじゃね?
=>mochiがMapになってて分かりにくい
=>とりあえずcollectさせてVec<Mochi>持ったら動いた
みたいな。
URLリンク(play.rust-lang.org)
多分、頭の良い人ならもっと綺麗な説明と解法があるんだろうけど

93:デフォルトの名無しさん
18/03/19 07:39:54.89 bmK7HIBH0.net
>>92
ありがとうございます
仮引数mのライフタイムはmain関数が抜けるまでだから通るということで合っていますか
またVecではなくIterator::Mapだと駄目な理由は、Iterator::Mapはcollectされるまでクロージャが実行されないから…とかでしょうか

94:デフォルトの名無しさん
18/03/19 13:44:00.51 aUxUFBJe0.net
>>93
仮引数mのライフタイムはクロージャ内なのは変わらないよ。>>92は仮引数を参照じゃなく消費してるから通る(>>92の&mじゃなくてmで良い)
クロージャが実行されないから、ではなく、mochiの値が消費されてるのにその参照を持たせようとしてるから駄目
試しに>>91のコードでmochi.map(|m| { 0 })とか書いて、mochiをprintln!に渡してみようとすると怒られるよ。もう使ってるって。
そこらへんの細かいルールを覚えるの大変だし、コンパイラもまだ分かりやすいエラーメッセージ吐いてくれないから、
・参照を使うときは、参照元をちゃんと生かしておくこと
・参照を使った構造体は、元の値を修飾(見方を変える、新しい機能を持たせる等)するようなパターンに限定すること
を守るようにした方がいいよ

95:デフォルトの名無しさん
18/03/19 21:04:17.46 bmK7HIBH0.net
>>94
「消費したものの参照を持たせるのは駄目」と「消費しているから通る」はそれぞれはわかる気がするのですが、両方となると…
前者の「消費したもの」と後者(main関数中生き続けるMochiのベクトル)は別物だと思うのですが、
前者で駄目な理由は関数中生き続けるMochiがない(mapを呼び出しただけでは駄目)ということですか?

96:デフォルトの名無しさん
18/03/19 23:26:36.74 aUxUFBJe0.net
「消費されるので通る」じゃ言葉足らずでした。「参照じゃなく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:デフォルトの名無しさん
18/03/20 13:21:28.84 RDB2KieC0.net
>>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:デフォルトの名無しさん
18/03/20 14:30:32.82 UUyTwokV0.net
大きい文字列を扱うから参照にしたいってのは普通にあるし分かるけど
Hitoが&MochiでなくMochiをメンバに持つようになっても文字列のコピーは行われないよ
自分なら>>97のget_too_many_str()が返す&strの元を誰が保持するのかをまず気にする
そこをしっかり把握してれば文字列のコピーは最低限になるはずだから

99:デフォルトの名無しさん
18/03/20 16:38:27.06 P+YmZBwi0.net
>>97
んー、自分なら そこだけに使うMochiCow型作ってでも
ajiの型をCowにして凌ぐかな

100:デフォルトの名無しさん
18/03/21 11:43:51.64 cBTkQiaM0.net
&strの元もloop内の変数が持っています
hのvecを作るにはコピーは避けられないようですね…
&strからStringに変えたところhvec.push(h)してもエラーにはなりませんでしたが、
スコープを抜けたはずの変数が使える理由ってどこかに書いていますか?

101:デフォルトの名無しさん
18/03/21 14:53:30.44 9rI6JIRt0.net
そりゃloop内の変数hから、loop外のhvecに所有権が移動したから
頭の中に入れておける物なんて極わずかだし、場当たり的にdoes not live longエラーに対処するのは大変なので、
・値の所有者はどの変数であるべきか
・データ構造はどうあるべきか
という観点だけ念頭にいれて、「性能を稼ぐために参照を使おう」って考えを一旦外すとスッキリするよ

102:デフォルトの名無しさん
18/04/15 17:27:59.27 YDqAu+LL0.net
こっちが本スレと聞いて

103:デフォルトの名無しさん
18/04/15 21:42:18.86 eccSQZbu0.net
しかしここには俺はいない

104:デフォルトの名無しさん
18/04/15 21:42:37.31 eccSQZbu0.net
まちがえた
俺しかいない

105:デフォルトの名無しさん
18/04/15 22:10:33.68 33fSNzq50.net
俺もいるぞ

106:デフォルトの名無しさん
18/04/15 22:44:53.22 UX4y5Mn1a.net
てst

107:デフォルトの名無しさん
18/04/16 07:13:50.32 pzKlDNeX0.net
まともな話題はslackいっちゃうのかな。
匿名で喋りたいのはアンチ向きか

108:デフォルトの名無しさん
18/05/08 02:44:07.65 kruQSPFC0.net
別にアンチって訳じゃないけど、コンパイルが遅すぎる(特に最適化掛けた場合に)のはどうかと思う。
実行が速くてもその生成に時間が掛かれば無意味でしょう……。

109:デフォルトの名無しさん
18/05/08 05:31:20.68 4Vs0GKvV0.net
>>108
Rustで組んだ新Firefoxの動作が2倍ほど速くなったのは無意味?

110:デフォルトの名無しさん
18/05/08 07:00:09.03 EnN/pyur0.net
逆なら理解できるけど

111:デフォルトの名無しさん
18/05/08 08:36:06.07 Hy6hpXT/M.net
まあコンパイルは遅いわな。
ていうかcargoの仕組みが問題なだけか?

112:デフォルトの名無しさん
18/05/08 20:14:50.84 T0pMALEX0.net
rustcで単一ファイルだけコンパイルすると結構速いなと思った
cargoって警告無視のオプション(-Awarning)の有無でも一からビルドしようとしたりちょくちょくお粗末

113:デフォルトの名無しさん
18/05/10 20:35:06.28 zLx1ZI770.net
なんかRustってテスト用と製品用で別々の最適化を施せるんじゃなかったっけ。
俺は自分の為だけにRustを使ってるのであまり気にしたことがないが。

114:デフォルトの名無しさん
18/05/12 12:11:46.40 OzyUIrxEM.net
URLリンク(blog.rust-lang.org)
impl Trait来たから
久しぶりにさわってみるかな

115:デフォルトの名無しさん
18/05/23 12:09:39.17 6kVmIohDH.net
ほとんどc++に見えるの俺だけ?

116:デフォルトの名無しさん
18/05/23 12:29:18.87 4/oN1Bt60.net
みんな言ってる

117:デフォルトの名無しさん
18/05/23 23:15:50.94 Au5e7VGg0.net
確実にどんな人でも可能なネットで稼げる情報とか
念のためにのせておきます
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
C717P

118:デフォルトの名無しさん
18/05/28 09:59:15.77 N9/pBFPWH.net
rustを始めたんだけど
分かりそうで分からなくて
イライラする
なんだこの言語

119:デフォルトの名無しさん
18/05/28 11:01:04.58 4ZqBL5Re0.net
他の言語の経験にもよるけど 3000行ほど書けば慣れるよ(適当

120:デフォルトの名無しさん
18/05/28 11:14:23.86 N9/pBFPWH.net
actix_webでちょちょいとwebサービス作ろうと思っただけなんだが
externとuseみたいに、なんで同じようなものが2つ有るのとか
trait?、インプリすればいいだけならなんでこんな名前なんだとか

121:デフォルトの名無しさん
18/05/28 11:44:10.53 4ZqBL5Re0.net
察するに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参照)が始まっちゃうかもしれないので
ゆるく受け流してほしいところ

122:デフォルトの名無しさん
18/05/28 12:36:48.84 KX350+9ka.net
extern/use周りをrefineする話ってどうなった?

123:デフォルトの名無しさん
18/05/28 13:07:18.00 Yj33g/c2M.net
>>122
一応2018の予定には入ってるけどまだ作業中じゃない?
URLリンク(rust-lang-nursery.github.io)

124:デフォルトの名無しさん
18/05/28 14:35:19.27 N9/pBFPWH.net
チュートリアルの和訳のところを読んでいるけど
誰が訳したんだろう。。。

125:デフォルトの名無しさん
18/05/28 15:45:35.01 AY4+K2YC0.net
extern crateは、includeとかload libraryぐらいの意味だと思えばいいと思うが、
「え、それ、Cargo.tomlにもう書いたやん」って思うのは当然の感覚だな

126:デフォルトの名無しさん
18/05/28 15:47:39.28 N9/pBFPWH.net
しばらくしたら言語仕様変わりそうだなあこれ
勉強していくべきなのかどうか迷う

127:デフォルトの名無しさん
18/05/28 16:38:01.86 WepGeDn70.net
仕様の改定はc++のようにコンパイラのリリースとは別に2〜3年毎に定めることになってる
将来のコンパイラでも古い仕様を選択して使えるはず

128:デフォルトの名無しさん
18/05/28 17:33:13.35 dK7cJGyKa.net
どんな言語でも利用者多ければライブラリーのトレンド変わっていって学び直しはあるし
言語仕様の変更だけ特別視する理由が分からん

129:デフォルトの名無しさん
18/05/28 18:01:33.70 b/gKZOsn0.net
ver1.0になったし、firefoxに200kstepのソースがあるから始めるなら今でしょ

130:デフォルトの名無しさん
18/05/28 21:33:55.19 hIMCbSeD0.net
ruby1.8から1.9とか
python2から3の変更とか
嫌じゃん
言語もライブラリも混在してぐちゃぐちゃ

131:
18/05/28 22:15:42.81 dVAXJXVu0.net
>>124
和訳は最新に追いついていないと思います、公式英文を確認したほうがいい

132:デフォルトの名無しさん
18/05/28 23:47:10.84 cVR0FGXk0.net
Rustの場合仕様変更の影響を受ける記述はコンパイラがwarning(とsuggestion)出してくれるみたいだし
むしろライブラリのアップデートより楽なんじゃないかな

133:デフォルトの名無しさん
18/05/29 08:16:58.71 dnBokp3T0.net
やりたいことをするのに1日使って50%しかできなかった
自分には無理だこの言語

134:デフォルトの名無しさん
18/05/29 08:53:39.83 GEfewF+tM.net
50%できればすごいって

135:デフォルトの名無しさん
18/06/01 07:30:04.93 gpIIxUGF0.net
1.26の新機能自分のcrateにもう入れた?

136:デフォルトの名無しさん
18/06/01 19:39:19.80 RsiXZK4kM.net
土台?

137:デフォルトの名無しさん
18/06/11 19:45:35.17 woYxJr3K0.net
ここにまともなRustユーザいないのは年寄りしかいないからなのかなぁ

138:デフォルトの名無しさん
18/06/12 00:28:40.74 U7oXkFlj0.net
slackかtwitterでコミュニケーションとれるので5chへ書き込みたい事情があまりない

139:
18/06/12 00:34:57.69 QT2PgMnm0.net
>>138
おすすめのハッシュタグはなんでしょうか?

140:デフォルトの名無しさん
18/06/12 08:25:35.49 ESFTg/QrM.net
そう言われてみると確かにない。

141:デフォルトの名無しさん
18/06/12 09:41:15.21 Sk+2Pu3l0.net
もっとメジャーになってslackが荒れて来たらここもワンちゃん

142:デフォルトの名無しさん
18/06/12 12:05:43.89 QKuSZN5/a.net
ハッシュタグというより界隈の人間フォローしてる

143:デフォルトの名無しさん
18/06/12 19:39:13.56 twlm3/XD0.net
slackで発言できないアンチにしか存在価値がないのかぁ

144:デフォルトの名無しさん
18/06/12 21:30:56.05 d/RZ9PcJ0.net
slackのどこで喋ってるの?さ

145:デフォルトの名無しさん
18/06/13 07:40:50.77 Iw3p0Ou70.net
アンチに限らず匿名文化は一定数必要でしょう。

146:デフォルトの名無しさん
18/06/13 13:01:46.22 jLut3S1H0.net
つまり変な人でもスレに繰るなら、山の賑わい人気の証ってことね

147:デフォルトの名無しさん
18/06/23 20:45:08.63 MX9PBj5g0.net
Vec内のアイテムを複数条件やand or等をユーザに指定させてフィルタリングをしたいのですが
無理にでもSQL使うべきでしょうか

148:デフォルトの名無しさん
18/06/23 21:11:19.63 SR6K28vn0.net
ユーザってのはどういうレイヤの話をしてるの?もう少し具体的に書かないと意味不明

149:デフォルトの名無しさん
18/06/24 23:27:10.18 FVTH6Flp0.net
values.iter().filter(hoge).filter(fuga).filter(piyo)
フィルターを何度がけすると型がやばそう

150:デフォルトの名無しさん
18/06/25 00:28:41.79 TWt9PpKD0.net
強引にやるのはやばい感じだね
URLリンク(ideone.com)

151:デフォルトの名無しさん
18/06/25 07:08:50.50 xxjb5DLL0.net
調べてみるとfiltersというクレートがありました

152:デフォルトの名無しさん
18/06/28 08:09:41.33 t6K5m67F0.net
New Photon Release of Eclipse IDE Ships With Full Rust Support
URLリンク(www.eclipse.org)

153:デフォルトの名無しさん
18/07/01 02:21:52.91 hOXxhpxn0.net
いやじゃ、いやじゃ、Eclipseなんぞ使いとうない

154:デフォルトの名無しさん
18/07/01 03:02:12.97 T78MqQu/0.net
みんなどんな環境で書いてるの?今はvscode使ってるんだけどrlsがあまりに不安定すぎてストレスが…

155:デフォルトの名無しさん
18/07/01 06:22:17.39 3lsiwbVs0.net
vscodeだよ
racerも不安定だったような

156:デフォルトの名無しさん
18/07/01 09:29:47.37 61/yGhxs0.net
emacs + flycheck
racerは重すぎるんでOFFにしてる

157:デフォルトの名無しさん
18/07/01 15:40:20.37 ep584YMHF.net
秀丸

158:デフォルトの名無しさん
18/07/01 18:12:28.40 VIP13YQk0.net
禿丸ってなに?

159:デフォルトの名無しさん
18/07/01 19:19:06.36 3lsiwbVs0.net
こっちまでネタスレかよ

160:デフォルトの名無しさん
18/07/03 18:54:31.94 A246qspJM.net
URLリンク(i.imgur.com)

161:デフォルトの名無しさん
18/07/04 21:50:46.22 gFgZc5FG0.net
5PW

162:デフォルトの名無しさん
18/07/05 00:59:18.40 lJi2a9VDM.net
おーい、hgmr

163:デフォルトの名無しさん
18/07/28 09:13:36.59 pjkfXvHGM.net
hnmr王子〜♪

164:デフォルトの名無しさん
18/07/29 02:13:01.57 QHCaZ13N0.net
まさか繋いでくれる人がいるとは思わなかった

165:デフォルトの名無しさん
18/07/31 16:45:34.48 0aJU5h1JM.net
花村てなんや
オーバーウォッチか

166:デフォルトの名無しさん
18/08/05 20:37:41.10 XPCi/u53M.net
王子に対し無礼であろう!
URLリンク(www.nhk.or.jp)


最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

1908日前に更新/39 KB
担当:undef