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

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使うべきでしょうか
148: (ワッチョイ ffe8-7L08) 2018/06/23(土)21:11 ID:SR6K28vn0(1) AAS
ユーザってのはどういうレイヤの話をしてるの?もう少し具体的に書かないと意味不明
149: (ワッチョイ 7fd2-bPoN) 2018/06/24(日)23:27 ID:FVTH6Flp0(1) AAS
values.iter().filter(hoge).filter(fuga).filter(piyo)
フィルターを何度がけすると型がやばそう
150: (ワッチョイ 7fd2-bPoN) 2018/06/25(月)00:28 ID:TWt9PpKD0(1) AAS
強引にやるのはやばい感じだね

外部リンク:ideone.com
151: (ワッチョイ 1fb3-BrdL) 2018/06/25(月)07:08 ID:xxjb5DLL0(1) AAS
調べてみるとfiltersというクレートがありました
152: (ワッチョイ b123-/RMY) 2018/06/28(木)08:09 ID:t6K5m67F0(1) AAS
New Photon Release of Eclipse IDE Ships With Full Rust Support
外部リンク[php]:www.eclipse.org
153: (ワッチョイ 79b3-pBcm) 2018/07/01(日)02:21 ID:hOXxhpxn0(1) AAS
いやじゃ、いやじゃ、Eclipseなんぞ使いとうない
154: (ワッチョイ 82d2-dOiQ) 2018/07/01(日)03:02 ID:T78MqQu/0(1) AAS
みんなどんな環境で書いてるの?今はvscode使ってるんだけどrlsがあまりに不安定すぎてストレスが…
155: (ワッチョイ 6ee8-Fk5m) 2018/07/01(日)06:22 ID:3lsiwbVs0(1/2) AAS
vscodeだよ
racerも不安定だったような
156: (ワッチョイ 0d2d-IuOd) 2018/07/01(日)09:29 ID:61/yGhxs0(1) AAS
emacs + flycheck
racerは重すぎるんでOFFにしてる
157: (アウウィフ FF85-mzC7) 2018/07/01(日)15:40 ID:ep584YMHF(1) AAS
秀丸
158: (ワッチョイ 79b3-HrKv) 2018/07/01(日)18:12 ID:VIP13YQk0(1) AAS
禿丸ってなに?
159: (ワッチョイ 6ee8-Fk5m) 2018/07/01(日)19:19 ID:3lsiwbVs0(2/2) AAS
こっちまでネタスレかよ
160: (ブーイモ MM22-Unb+) 2018/07/03(火)18:54 ID:A246qspJM(1) AAS
画像リンク[jpg]:i.imgur.com
161: (ワッチョイ 45fa-2e90) 2018/07/04(水)21:50 ID:gFgZc5FG0(1) AAS
5PW
162: (ブーイモ MM2b-0Xn2) 2018/07/05(木)00:59 ID:lJi2a9VDM(1) AAS
おーい、hgmr
163: (アメ MM5b-Ip0i) 2018/07/28(土)09:13 ID:pjkfXvHGM(1) AAS
hnmr王子〜♪
164: (ワッチョイ 12d5-YWSl) 2018/07/29(日)02:13 ID:QHCaZ13N0(1) AAS
まさか繋いでくれる人がいるとは思わなかった
165: (ブーイモ MM5b-Hl5m) 2018/07/31(火)16:45 ID:0aJU5h1JM(1) AAS
花村てなんや
オーバーウォッチか
166: (アメ MM67-tZ6u) 2018/08/05(日)20:37 ID:XPCi/u53M(1) AAS
王子に対し無礼であろう!
外部リンク:www.nhk.or.jp
167: (ワッチョイ d75f-8s6k) 2020/11/25(水)00:47 ID:lt8VNqOR0(1) AAS
るすと
168: (ワッチョイ dfad-VZQ6) 2022/05/03(火)15:19 ID:FP7f4hyR0(1) AAS
Rの発音が難しい
169: (テテンテンテン MM73-rSKY) [age] 2022/08/07(日)14:18 ID:Xv2x2xOXM(1) AAS
うんこすレッド
170: (ワッチョイ 7501-zStA) 2022/11/13(日)22:46 ID:gb51z1Py0(1) AAS
日本語の発音ってかイントネーションはみんなどっち?
ラスト(ミファファ=スタバ)
ラスト(ミドド=ベスト(着る方))
171: (ブーイモ MM4b-Yt0T) 2022/11/16(水)18:15 ID:QMFF+6AxM(1) AAS
1オクターブ上のドでミドド
172: (ワッチョイ 1f5f-MR5z) 2022/12/18(日)17:46 ID:fqk1SiW30(1) AAS
本スレ最近ひどいね
age
173
(1): (ワッチョイ d3c9-tb1I) 2023/01/09(月)20:41 ID:XnWHdmBW0(1) AAS
Rustの型って何を言ってるのか良う分からないくらい一気に複雑になるんだけど、改善の兆しってある?
filter(|x| ...).map.(|x| ...)ってやると戻り値がMap<Filter<...>>みたいに、情報量がほぼ増えないのに型の表記だけが増えてくのが見づらくてしゃあないんだが

「ここを関数に切り出しておきたい」ってのも難しくね?
impl Traitあるだろって言われるけど、自分ひとりでできた試しが無い
174
(1): (ワッチョイ 1301-nt2E) 2023/01/09(月)22:31 ID:ZXgjuOo50(1) AAS
>>173
.filter(|x| ...).map.(|x| …)とやったら
ざっくり言うと戻り値はIterator<Item=T>でowned, shared reference, mutable referenceの3種類
Map<Filter<...>>とかの詳細な型を知りたいと思うことは基本ないからそこまで困らない
デコレータとかコンポジション的なものとして理解しとけばいいと思う

関数に切り出すのはGC言語と比べると難しい
どの値の所有権をどの呼び出しレイヤーで保持すべきかを整理しながらリファクタリングする必要がある
省1
175
(1): (ワッチョイ d3c9-c71v) 2023/01/11(水)20:45 ID:+OHiCBbi0(1) AAS
>>174
標準ライブラリでiteratorのメソッドならそうなんだろうな、って他言語でも溜め込んだ知識で何とかなるけどさ、
例えばwarpっていうWebフレームワークはリクエストの解決にfilterを使ってるんだけど、
外部リンク[html]:docs.rs
↑ここからたどって、例えばリクエストのパスにマッチするフィルタを作成するwarp::filters::pathってのがあるんだけど、
こいつの戻り値が独自型のExactってやつなのね

warp作ってる人はここに様々な条件を追加できるようにしているんだけど、pathの戻り値にどう組み合わせられるかってのをどう探せるんだろっていつもなってる
省1
176
(1): (ワッチョイ 1301-nt2E) 2023/01/11(水)23:31 ID:B6T7GQUU0(1) AAS
>>175
ExactがFilterだと分かれば別のFilterを組み合わせられることはわかるでしょ?

warpのFilterシステムを理解させるための解説ドキュメントが不足してるのと
他で類似の仕組みをあまり経験したことがないのが理由なんじゃないのかな?

型が入れ子の形でチェインされてる状態に慣れてないから
それがわかりにくさの原因のように感じるかもしれないけど
JavaやgoのReader/Writerみたいにデコレータ的に型を重ねていくのはそんな特殊なことじゃないよ
177: (ワッチョイ 119b-EcXc) 2023/01/12(木)07:36 ID:fjq3kaV70(1) AAS
iterator系の処理はどんな言語でもやりすぎると意味不明なんでいい単位で説明変数や関数に切り出すのは大事だよ。
178
(1): (ワッチョイ dbda-xq+Q) 2023/01/12(木)10:57 ID:yHqsf2Vi0(1) AAS
関数単位で切り出す場合はimpl TraitやBox<dyn Trait>使った方が良いと思う
実装の詳細が型として露出してしまうのはよろしくないし
何より長い型を書き下すのはめんどくさい
179
(1): (ワッチョイ d3c9-tb1I) 2023/01/13(金)00:49 ID:Eg8x4Zf+0(1/2) AAS
>>176 いやExactがFilterかどうかが分からないんだ。自信が無い
外部リンク[html]:docs.rs
外部リンク[html]:docs.rs
↑2つを見ても、ExactがFilterをimplしているとは書いてないんだ
知ってたらマジで教えてほしいんだが、どこ見ればいいの?

>>178 そう思うのは人情だが、じゃあどういう型の関数にすればいいのかって話
ググらずに分かる?俺は分からなかった
180: (ワッチョイ 795f-H4iZ) 2023/01/13(金)01:52 ID:USdCnak/0(1) AAS
>>179
非公開の(だけど実装が漏れている)FilterBaseトレイトを介してFilterを実装してるんだね……
FilterBaseが公開されていればExactのblanket implementationsに出てくるはず

同じことは指摘されているが放置されている模様
外部リンク:github.com
181: (ワッチョイ d3c9-RZrR) 2023/01/13(金)20:16 ID:Eg8x4Zf+0(2/2) AAS
もしかして特段に分かりづらい構造だったのかWarp
182: (ワッチョイ 1301-nt2E) 2023/01/13(金)21:03 ID:4YqzJ2Gc0(1) AAS
Sealed TraitっていうユーザーにTraitを実装させないための一般的なパターンなんだけど
privateなTraitはドキュメントには現れないのでExactがFilterBaseを実装してることを確かめたければソースを見るしかない

でも関数や構造体の説明にFilterだよって書いてるんだからまずはそこからじゃないか?
path()「Create an exact match path segment Filter.」
Exact「A Filter matching an exact path segment.」
183: (ワッチョイ eac9-KPE0) 2023/01/14(土)03:14 ID:4QhVLL220(1) AAS
いや型の説明がコメントにしか無いかったら疑うのが基本じゃないか…?
説明にある通りの使い方はできるけど、何故そう使えるのか分からない、となった上での話
前にもちらっと書いたところもそうなんだけど、impl Filterを返す関数のシグネチャも独力だと分からなかったんだよ。もっと情報の少ないクレートでやる必要が出てきたら詰んじゃう
184: (ワッチョイ 595f-qxpo) 2023/01/19(木)13:09 ID:CHvJHSS40(1) AAS
[T]と[T; N]があるように
strに対するSizedなstr<N>とかできんかね
185
(1): (ワッチョイ a75f-+rQD) 2023/01/29(日)03:46 ID:qSgQK/Ke0(1) AAS
外部リンク[html]:doc.rust-lang.org

名前の元ネタがよくわからん
186: (ワッチョイ db9b-kLGU) 2023/01/29(日)04:28 ID:iZgCgX3R0(1) AAS
>>185
trY Early-ExiT で yeet じゃない?
experimental だからわざとクソ命名してそう。
187: (ワッチョイ f6da-RqI+) 2023/01/29(日)08:29 ID:VTBemk9l0(1) AAS
意味合いとしては
> Yeet is a slang phrase meaning to throw with force
とのことらしい
外部リンク:internals.rust-lang.org
外部リンク[php]:www.urbandictionary.com

yeetの初出はここらしい
Twitterリンク:josh_triplett
省2
188: (ワッチョイ 0f5f-xW4J) 2023/02/04(土)16:11 ID:4OrKEijd0(1) AAS
Servoプロジェクトが再始動
外部リンク:servo.org
外部リンク:servo.org
189: (ドコグロ MM49-+MOc) 2023/02/26(日)21:57 ID:vJeOsMT8M(1) AAS
新スレとして再利用と聞いてage
190: (ワッチョイ 615f-+MOc) 2023/03/02(木)01:57 ID:9x7ptNRV0(1) AAS
ProviderとDemandってCOMのQueryInterface的な使い方もできるのかな
191: (ワッチョイ 715f-BZjt) 2023/03/07(火)03:24 ID:CjRtBzJ10(1) AAS
Bevy 0.10 is out now!
外部リンク:bevyengine.org
192: (ワッチョイ 715f-h7+G) 2023/03/10(金)03:58 ID:9+yNdzD90(1) AAS
Announcing Rust 1.68.0
外部リンク[html]:blog.rust-lang.org

今回は小粒?
193: (ワッチョイ fbda-8+Io) 2023/03/10(金)11:19 ID:Rc7TQThZ0(1) AAS
cargoのsparse protocolは嬉しい
194: (テテンテンテン MMee-qnN+) 2023/03/15(水)08:26 ID:L9HRqQqHM(1) AAS
Default alloc error handlerはLinus指摘の取り込みかな。
195
(1): (ワッチョイ 4eda-Wvvr) 2023/03/15(水)10:58 ID:efRde3jV0(1) AAS
Linusの話は、メモリアロケーション失敗時にpanicするなという話だと思うけど、今回の変更とは全く関係ない

今回の変更でalloc crateがalloc_error_handlerのデフォルト実装を提供するようになった
新たに提供されたalloc_error_handlerはpanicする実装になっているので、メモリアロケーション失敗時にpanicになることは変わらない
単に、利用者がalloc_error_handlerを独自に実装する必要がなくなったというだけ

Linusの指摘に対しては、Box::try_newなどのアロケーション失敗を呼び出し元に通知するAPIを用意することで対応している
196: (テテンテンテン MMee-qnN+) 2023/03/15(水)12:35 ID:i0vzrjRpM(1) AAS
>>195
サンクス。
Linusは「単にエラーを返せ」と言っていたから、error handlerじゃ確かに駄目だね。
197
(1): (ワッチョイ 715f-SGwy) 2023/03/15(水)13:35 ID:jUGp7X9a0(1) AAS
Rust製の高速なwebpack互換バンドラ「Rspack」登場。現時点で5倍から10倍の性能向上
外部リンク[html]:www.publickey1.jp

> Rust製の高速なバンドラとしては、webpackの主要な開発者がNext.jsに入社してwebpackの後継として開発している「Turbopack」もあります。
> 現時点ではまだwebpackが抜きん出た人気を得ていますが、現時点で主要な開発者が抜けてしまったwebpack後継の座を狙った競争が始まったといえそうです。
198: (ワッチョイ 4d23-/phF) 2023/03/26(日)17:12 ID:EfkiJTmm0(1) AAS
>>197
ちょっとスレチ気味だけれど
Turbopack(新調で700倍高速) vs Rspack(互換性維持で5~10倍高速)
webpackからの乗り換えはしばらく様子見
1-
あと 104 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.028s