Mozilla発のプログラミング言語「Rust」のスレです
■公式
https://www.rust-lang.org/
https://blog.rust-lang.org/
https://github.com/rust-lang/rust
■ワッチョイ
スレ建て時、一行目に
!extend:on:vvvvv:1000:512
を入れること
■派生元スレ
プログラミング言語 Rust 4
https://mevius.5ch.net/test/read.cgi/tech/1507970294/
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
プログラミング言語 Rust 4【ワッチョイ】
1デフォルトの名無しさん (ワッチョイ 83b3-KDL3)
2017/12/24(日) 18:27:01.98ID:EGydBhQv094デフォルトの名無しさん (ワッチョイ bdb3-kj1m)
2018/03/19(月) 13:44:00.51ID:aUxUFBJe0 >>93
仮引数mのライフタイムはクロージャ内なのは変わらないよ。>>92は仮引数を参照じゃなく消費してるから通る(>>92の&mじゃなくてmで良い)
クロージャが実行されないから、ではなく、mochiの値が消費されてるのにその参照を持たせようとしてるから駄目
試しに>>91のコードでmochi.map(|m| { 0 })とか書いて、mochiをprintln!に渡してみようとすると怒られるよ。もう使ってるって。
そこらへんの細かいルールを覚えるの大変だし、コンパイラもまだ分かりやすいエラーメッセージ吐いてくれないから、
・参照を使うときは、参照元をちゃんと生かしておくこと
・参照を使った構造体は、元の値を修飾(見方を変える、新しい機能を持たせる等)するようなパターンに限定すること
を守るようにした方がいいよ
仮引数mのライフタイムはクロージャ内なのは変わらないよ。>>92は仮引数を参照じゃなく消費してるから通る(>>92の&mじゃなくてmで良い)
クロージャが実行されないから、ではなく、mochiの値が消費されてるのにその参照を持たせようとしてるから駄目
試しに>>91のコードでmochi.map(|m| { 0 })とか書いて、mochiをprintln!に渡してみようとすると怒られるよ。もう使ってるって。
そこらへんの細かいルールを覚えるの大変だし、コンパイラもまだ分かりやすいエラーメッセージ吐いてくれないから、
・参照を使うときは、参照元をちゃんと生かしておくこと
・参照を使った構造体は、元の値を修飾(見方を変える、新しい機能を持たせる等)するようなパターンに限定すること
を守るようにした方がいいよ
95デフォルトの名無しさん (ワッチョイ 2bb3-yeMC)
2018/03/19(月) 21:04:17.46ID:bmK7HIBH0 >>94
「消費したものの参照を持たせるのは駄目」と「消費しているから通る」はそれぞれはわかる気がするのですが、両方となると…
前者の「消費したもの」と後者(main関数中生き続けるMochiのベクトル)は別物だと思うのですが、
前者で駄目な理由は関数中生き続けるMochiがない(mapを呼び出しただけでは駄目)ということですか?
「消費したものの参照を持たせるのは駄目」と「消費しているから通る」はそれぞれはわかる気がするのですが、両方となると…
前者の「消費したもの」と後者(main関数中生き続けるMochiのベクトル)は別物だと思うのですが、
前者で駄目な理由は関数中生き続けるMochiがない(mapを呼び出しただけでは駄目)ということですか?
96デフォルトの名無しさん (ワッチョイ bdb3-kj1m)
2018/03/19(月) 23:26:36.74ID:aUxUFBJe0 「消費されるので通る」じゃ言葉足らずでした。「参照じゃなく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エラーはライフタイムがどうのこうのと小手先で弄るより、
値の所有者を明快にしたり、データ構造を見直してみると案外素直に直せるのが経験則。
>>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デフォルトの名無しさん (ワッチョイ abb6-ogOK)
2018/03/20(火) 13:21:28.84ID:RDB2KieC0 >>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にすべきでしょうか
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:32.82ID:UUyTwokV0 大きい文字列を扱うから参照にしたいってのは普通にあるし分かるけど
Hitoが&MochiでなくMochiをメンバに持つようになっても文字列のコピーは行われないよ
自分なら>>97のget_too_many_str()が返す&strの元を誰が保持するのかをまず気にする
そこをしっかり把握してれば文字列のコピーは最低限になるはずだから
Hitoが&MochiでなくMochiをメンバに持つようになっても文字列のコピーは行われないよ
自分なら>>97のget_too_many_str()が返す&strの元を誰が保持するのかをまず気にする
そこをしっかり把握してれば文字列のコピーは最低限になるはずだから
99デフォルトの名無しさん (ワッチョイ eb2d-4xVl)
2018/03/20(火) 16:38:27.06ID:P+YmZBwi0100デフォルトの名無しさん (ワッチョイ 2bb3-yeMC)
2018/03/21(水) 11:43:51.64ID:cBTkQiaM0 &strの元もloop内の変数が持っています
hのvecを作るにはコピーは避けられないようですね…
&strからStringに変えたところhvec.push(h)してもエラーにはなりませんでしたが、
スコープを抜けたはずの変数が使える理由ってどこかに書いていますか?
hのvecを作るにはコピーは避けられないようですね…
&strからStringに変えたところhvec.push(h)してもエラーにはなりませんでしたが、
スコープを抜けたはずの変数が使える理由ってどこかに書いていますか?
101デフォルトの名無しさん (ワッチョイ bdb3-kj1m)
2018/03/21(水) 14:53:30.44ID:9rI6JIRt0 そりゃloop内の変数hから、loop外のhvecに所有権が移動したから
頭の中に入れておける物なんて極わずかだし、場当たり的にdoes not live longエラーに対処するのは大変なので、
・値の所有者はどの変数であるべきか
・データ構造はどうあるべきか
という観点だけ念頭にいれて、「性能を稼ぐために参照を使おう」って考えを一旦外すとスッキリするよ
頭の中に入れておける物なんて極わずかだし、場当たり的にdoes not live longエラーに対処するのは大変なので、
・値の所有者はどの変数であるべきか
・データ構造はどうあるべきか
という観点だけ念頭にいれて、「性能を稼ぐために参照を使おう」って考えを一旦外すとスッキリするよ
102デフォルトの名無しさん (ワッチョイ ff9f-e5q7)
2018/04/15(日) 17:27:59.27ID:YDqAu+LL0 こっちが本スレと聞いて
103デフォルトの名無しさん (ワッチョイ cfe8-2eiy)
2018/04/15(日) 21:42:18.86ID:eccSQZbu0 しかしここには俺はいない
104デフォルトの名無しさん (ワッチョイ cfe8-2eiy)
2018/04/15(日) 21:42:37.31ID:eccSQZbu0 まちがえた
俺しかいない
俺しかいない
105デフォルトの名無しさん (ワッチョイ ffd2-EWy0)
2018/04/15(日) 22:10:33.68ID:33fSNzq50 俺もいるぞ
106デフォルトの名無しさん (アウアウエー Sadf-Mqc2)
2018/04/15(日) 22:44:53.22ID:UX4y5Mn1a てst
107デフォルトの名無しさん (ワッチョイ cfe8-2eiy)
2018/04/16(月) 07:13:50.32ID:pzKlDNeX0 まともな話題はslackいっちゃうのかな。
匿名で喋りたいのはアンチ向きか
匿名で喋りたいのはアンチ向きか
108デフォルトの名無しさん (ワッチョイ a364-0hQO)
2018/05/08(火) 02:44:07.65ID:kruQSPFC0 別にアンチって訳じゃないけど、コンパイルが遅すぎる(特に最適化掛けた場合に)のはどうかと思う。
実行が速くてもその生成に時間が掛かれば無意味でしょう……。
実行が速くてもその生成に時間が掛かれば無意味でしょう……。
109デフォルトの名無しさん (ワッチョイ 8a2d-pRx+)
2018/05/08(火) 05:31:20.68ID:4Vs0GKvV0 >>108
Rustで組んだ新Firefoxの動作が2倍ほど速くなったのは無意味?
Rustで組んだ新Firefoxの動作が2倍ほど速くなったのは無意味?
110デフォルトの名無しさん (ワッチョイ 1f97-q47z)
2018/05/08(火) 07:00:09.03ID:EnN/pyur0 逆なら理解できるけど
111デフォルトの名無しさん (ドコグロ MM2b-4ryL)
2018/05/08(火) 08:36:06.07ID:Hy6hpXT/M まあコンパイルは遅いわな。
ていうかcargoの仕組みが問題なだけか?
ていうかcargoの仕組みが問題なだけか?
112デフォルトの名無しさん (ワッチョイ 0bb3-XZ5U)
2018/05/08(火) 20:14:50.84ID:T0pMALEX0 rustcで単一ファイルだけコンパイルすると結構速いなと思った
cargoって警告無視のオプション(-Awarning)の有無でも一からビルドしようとしたりちょくちょくお粗末
cargoって警告無視のオプション(-Awarning)の有無でも一からビルドしようとしたりちょくちょくお粗末
113デフォルトの名無しさん (ワッチョイ f564-n6Dg)
2018/05/10(木) 20:35:06.28ID:zLx1ZI770 なんかRustってテスト用と製品用で別々の最適化を施せるんじゃなかったっけ。
俺は自分の為だけにRustを使ってるのであまり気にしたことがないが。
俺は自分の為だけにRustを使ってるのであまり気にしたことがないが。
114デフォルトの名無しさん (ドコグロ MM43-CJWe)
2018/05/12(土) 12:11:46.40ID:OzyUIrxEM115デフォルトの名無しさん (JP 0Ha1-pXmg)
2018/05/23(水) 12:09:39.17ID:6kVmIohDH ほとんどc++に見えるの俺だけ?
116デフォルトの名無しさん (ワッチョイ 5523-/w+O)
2018/05/23(水) 12:29:18.87ID:4/oN1Bt60 みんな言ってる
117デフォルトの名無しさん (ワッチョイ 89fa-9WOx)
2018/05/23(水) 23:15:50.94ID:Au5e7VGg0 確実にどんな人でも可能なネットで稼げる情報とか
念のためにのせておきます
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
C717P
念のためにのせておきます
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
C717P
118デフォルトの名無しさん (JP 0Hcd-6rHD)
2018/05/28(月) 09:59:15.77ID:N9/pBFPWH rustを始めたんだけど
分かりそうで分からなくて
イライラする
なんだこの言語
分かりそうで分からなくて
イライラする
なんだこの言語
119デフォルトの名無しさん (ワッチョイ 512d-MMi0)
2018/05/28(月) 11:01:04.58ID:4ZqBL5Re0 他の言語の経験にもよるけど 3000行ほど書けば慣れるよ(適当
120デフォルトの名無しさん (JP 0Hcd-6rHD)
2018/05/28(月) 11:14:23.86ID:N9/pBFPWH actix_webでちょちょいとwebサービス作ろうと思っただけなんだが
externとuseみたいに、なんで同じようなものが2つ有るのとか
trait?、インプリすればいいだけならなんでこんな名前なんだとか
externとuseみたいに、なんで同じようなものが2つ有るのとか
trait?、インプリすればいいだけならなんでこんな名前なんだとか
121デフォルトの名無しさん (ワッチョイ 512d-MMi0)
2018/05/28(月) 11:44:10.53ID:4ZqBL5Re0 察するに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参照)が始まっちゃうかもしれないので
ゆるく受け流してほしいところ
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デフォルトの名無しさん (アウアウカー Sa95-QCrH)
2018/05/28(月) 12:36:48.84ID:KX350+9ka extern/use周りをrefineする話ってどうなった?
123デフォルトの名無しさん (ブーイモ MM33-Cz+B)
2018/05/28(月) 13:07:18.00ID:Yj33g/c2M >>122
一応2018の予定には入ってるけどまだ作業中じゃない?
https://rust-lang-nursery.github.io/edition-guide/2018/transitioning/modules/path-clarity.html
一応2018の予定には入ってるけどまだ作業中じゃない?
https://rust-lang-nursery.github.io/edition-guide/2018/transitioning/modules/path-clarity.html
124デフォルトの名無しさん (JP 0Hcd-6rHD)
2018/05/28(月) 14:35:19.27ID:N9/pBFPWH チュートリアルの和訳のところを読んでいるけど
誰が訳したんだろう。。。
誰が訳したんだろう。。。
125デフォルトの名無しさん (ワッチョイ f1fb-DqgS)
2018/05/28(月) 15:45:35.01ID:AY4+K2YC0 extern crateは、includeとかload libraryぐらいの意味だと思えばいいと思うが、
「え、それ、Cargo.tomlにもう書いたやん」って思うのは当然の感覚だな
「え、それ、Cargo.tomlにもう書いたやん」って思うのは当然の感覚だな
126デフォルトの名無しさん (JP 0Hcd-6rHD)
2018/05/28(月) 15:47:39.28ID:N9/pBFPWH しばらくしたら言語仕様変わりそうだなあこれ
勉強していくべきなのかどうか迷う
勉強していくべきなのかどうか迷う
127デフォルトの名無しさん (ワッチョイ 319f-NyY8)
2018/05/28(月) 16:38:01.86ID:WepGeDn70 仕様の改定はc++のようにコンパイラのリリースとは別に2〜3年毎に定めることになってる
将来のコンパイラでも古い仕様を選択して使えるはず
将来のコンパイラでも古い仕様を選択して使えるはず
128デフォルトの名無しさん (アウアウカー Sa95-QCrH)
2018/05/28(月) 17:33:13.35ID:dK7cJGyKa どんな言語でも利用者多ければライブラリーのトレンド変わっていって学び直しはあるし
言語仕様の変更だけ特別視する理由が分からん
言語仕様の変更だけ特別視する理由が分からん
129デフォルトの名無しさん (ワッチョイ 139f-P0uv)
2018/05/28(月) 18:01:33.70ID:b/gKZOsn0 ver1.0になったし、firefoxに200kstepのソースがあるから始めるなら今でしょ
130デフォルトの名無しさん (ワッチョイ 7b76-Z0cF)
2018/05/28(月) 21:33:55.19ID:hIMCbSeD0 ruby1.8から1.9とか
python2から3の変更とか
嫌じゃん
言語もライブラリも混在してぐちゃぐちゃ
python2から3の変更とか
嫌じゃん
言語もライブラリも混在してぐちゃぐちゃ
>>124
和訳は最新に追いついていないと思います、公式英文を確認したほうがいい
和訳は最新に追いついていないと思います、公式英文を確認したほうがいい
132デフォルトの名無しさん (ワッチョイ 93d4-Cz+B)
2018/05/28(月) 23:47:10.84ID:cVR0FGXk0 Rustの場合仕様変更の影響を受ける記述はコンパイラがwarning(とsuggestion)出してくれるみたいだし
むしろライブラリのアップデートより楽なんじゃないかな
むしろライブラリのアップデートより楽なんじゃないかな
133デフォルトの名無しさん (ワッチョイ 7b76-Z0cF)
2018/05/29(火) 08:16:58.71ID:dnBokp3T0 やりたいことをするのに1日使って50%しかできなかった
自分には無理だこの言語
自分には無理だこの言語
134デフォルトの名無しさん (ドコグロ MM3d-BXJA)
2018/05/29(火) 08:53:39.83ID:GEfewF+tM 50%できればすごいって
135デフォルトの名無しさん (ワッチョイ d6e8-v2bY)
2018/06/01(金) 07:30:04.93ID:gpIIxUGF0 1.26の新機能自分のcrateにもう入れた?
136デフォルトの名無しさん (アウーイモ MM09-fOff)
2018/06/01(金) 19:39:19.80ID:RsiXZK4kM 土台?
137デフォルトの名無しさん (ワッチョイ ebe8-hnG7)
2018/06/11(月) 19:45:35.17ID:woYxJr3K0 ここにまともなRustユーザいないのは年寄りしかいないからなのかなぁ
138デフォルトの名無しさん (ワッチョイ 1b8a-ZvXG)
2018/06/12(火) 00:28:40.74ID:U7oXkFlj0 slackかtwitterでコミュニケーションとれるので5chへ書き込みたい事情があまりない
>>138
おすすめのハッシュタグはなんでしょうか?
おすすめのハッシュタグはなんでしょうか?
140デフォルトの名無しさん (ドコグロ MMa3-hnG7)
2018/06/12(火) 08:25:35.49ID:ESFTg/QrM そう言われてみると確かにない。
141デフォルトの名無しさん (ワッチョイ 139f-A+ht)
2018/06/12(火) 09:41:15.21ID:Sk+2Pu3l0 もっとメジャーになってslackが荒れて来たらここもワンちゃん
142デフォルトの名無しさん (アウアウカー Sa2d-ZvXG)
2018/06/12(火) 12:05:43.89ID:QKuSZN5/a ハッシュタグというより界隈の人間フォローしてる
143デフォルトの名無しさん (ワッチョイ ebe8-hnG7)
2018/06/12(火) 19:39:13.56ID:twlm3/XD0 slackで発言できないアンチにしか存在価値がないのかぁ
144デフォルトの名無しさん (ワッチョイ 81b3-z/w5)
2018/06/12(火) 21:30:56.05ID:d/RZ9PcJ0 slackのどこで喋ってるの?さ
145デフォルトの名無しさん (ワッチョイ e164-TJEr)
2018/06/13(水) 07:40:50.77ID:Iw3p0Ou70 アンチに限らず匿名文化は一定数必要でしょう。
146デフォルトの名無しさん (ワッチョイ 139f-A+ht)
2018/06/13(水) 13:01:46.22ID:jLut3S1H0 つまり変な人でもスレに繰るなら、山の賑わい人気の証ってことね
147デフォルトの名無しさん (ワッチョイ 1fbe-BrdL)
2018/06/23(土) 20:45:08.63ID:MX9PBj5g0 Vec内のアイテムを複数条件やand or等をユーザに指定させてフィルタリングをしたいのですが
無理にでもSQL使うべきでしょうか
無理にでもSQL使うべきでしょうか
148デフォルトの名無しさん (ワッチョイ ffe8-7L08)
2018/06/23(土) 21:11:19.63ID:SR6K28vn0 ユーザってのはどういうレイヤの話をしてるの?もう少し具体的に書かないと意味不明
149デフォルトの名無しさん (ワッチョイ 7fd2-bPoN)
2018/06/24(日) 23:27:10.18ID:FVTH6Flp0 values.iter().filter(hoge).filter(fuga).filter(piyo)
フィルターを何度がけすると型がやばそう
フィルターを何度がけすると型がやばそう
150デフォルトの名無しさん (ワッチョイ 7fd2-bPoN)
2018/06/25(月) 00:28:41.79ID:TWt9PpKD0151デフォルトの名無しさん (ワッチョイ 1fb3-BrdL)
2018/06/25(月) 07:08:50.50ID:xxjb5DLL0 調べてみるとfiltersというクレートがありました
152デフォルトの名無しさん (ワッチョイ b123-/RMY)
2018/06/28(木) 08:09:41.33ID:t6K5m67F0 New Photon Release of Eclipse IDE Ships With Full Rust Support
https://www.eclipse.org/org/press-release/20180627_new-photon-release-of-eclipse-ide-ships-with-full-rust-support.php
https://www.eclipse.org/org/press-release/20180627_new-photon-release-of-eclipse-ide-ships-with-full-rust-support.php
153デフォルトの名無しさん (ワッチョイ 79b3-pBcm)
2018/07/01(日) 02:21:52.91ID:hOXxhpxn0 いやじゃ、いやじゃ、Eclipseなんぞ使いとうない
154デフォルトの名無しさん (ワッチョイ 82d2-dOiQ)
2018/07/01(日) 03:02:12.97ID:T78MqQu/0 みんなどんな環境で書いてるの?今はvscode使ってるんだけどrlsがあまりに不安定すぎてストレスが…
155デフォルトの名無しさん (ワッチョイ 6ee8-Fk5m)
2018/07/01(日) 06:22:17.39ID:3lsiwbVs0 vscodeだよ
racerも不安定だったような
racerも不安定だったような
156デフォルトの名無しさん (ワッチョイ 0d2d-IuOd)
2018/07/01(日) 09:29:47.37ID:61/yGhxs0 emacs + flycheck
racerは重すぎるんでOFFにしてる
racerは重すぎるんでOFFにしてる
157デフォルトの名無しさん (アウウィフ FF85-mzC7)
2018/07/01(日) 15:40:20.37ID:ep584YMHF 秀丸
158デフォルトの名無しさん (ワッチョイ 79b3-HrKv)
2018/07/01(日) 18:12:28.40ID:VIP13YQk0 禿丸ってなに?
159デフォルトの名無しさん (ワッチョイ 6ee8-Fk5m)
2018/07/01(日) 19:19:06.36ID:3lsiwbVs0 こっちまでネタスレかよ
160デフォルトの名無しさん (ブーイモ MM22-Unb+)
2018/07/03(火) 18:54:31.94ID:A246qspJM161デフォルトの名無しさん (ワッチョイ 45fa-2e90)
2018/07/04(水) 21:50:46.22ID:gFgZc5FG0 5PW
162デフォルトの名無しさん (ブーイモ MM2b-0Xn2)
2018/07/05(木) 00:59:18.40ID:lJi2a9VDM おーい、hgmr
163デフォルトの名無しさん (アメ MM5b-Ip0i)
2018/07/28(土) 09:13:36.59ID:pjkfXvHGM hnmr王子〜♪
164デフォルトの名無しさん (ワッチョイ 12d5-YWSl)
2018/07/29(日) 02:13:01.57ID:QHCaZ13N0 まさか繋いでくれる人がいるとは思わなかった
165デフォルトの名無しさん (ブーイモ MM5b-Hl5m)
2018/07/31(火) 16:45:34.48ID:0aJU5h1JM 花村てなんや
オーバーウォッチか
オーバーウォッチか
166デフォルトの名無しさん (アメ MM67-tZ6u)
2018/08/05(日) 20:37:41.10ID:XPCi/u53M167デフォルトの名無しさん (ワッチョイ d75f-8s6k)
2020/11/25(水) 00:47:44.38ID:lt8VNqOR0 るすと
168デフォルトの名無しさん (ワッチョイ dfad-VZQ6)
2022/05/03(火) 15:19:34.90ID:FP7f4hyR0 Rの発音が難しい
169デフォルトの名無しさん (テテンテンテン MM73-rSKY)
2022/08/07(日) 14:18:50.38ID:Xv2x2xOXM うんこすレッド
170デフォルトの名無しさん (ワッチョイ 7501-zStA)
2022/11/13(日) 22:46:23.74ID:gb51z1Py0 日本語の発音ってかイントネーションはみんなどっち?
ラスト(ミファファ=スタバ)
ラスト(ミドド=ベスト(着る方))
ラスト(ミファファ=スタバ)
ラスト(ミドド=ベスト(着る方))
171デフォルトの名無しさん (ブーイモ MM4b-Yt0T)
2022/11/16(水) 18:15:29.98ID:QMFF+6AxM 1オクターブ上のドでミドド
172デフォルトの名無しさん (ワッチョイ 1f5f-MR5z)
2022/12/18(日) 17:46:12.72ID:fqk1SiW30 本スレ最近ひどいね
age
age
173デフォルトの名無しさん (ワッチョイ d3c9-tb1I)
2023/01/09(月) 20:41:28.12ID:XnWHdmBW0 Rustの型って何を言ってるのか良う分からないくらい一気に複雑になるんだけど、改善の兆しってある?
filter(|x| ...).map.(|x| ...)ってやると戻り値がMap<Filter<...>>みたいに、情報量がほぼ増えないのに型の表記だけが増えてくのが見づらくてしゃあないんだが
「ここを関数に切り出しておきたい」ってのも難しくね?
impl Traitあるだろって言われるけど、自分ひとりでできた試しが無い
filter(|x| ...).map.(|x| ...)ってやると戻り値がMap<Filter<...>>みたいに、情報量がほぼ増えないのに型の表記だけが増えてくのが見づらくてしゃあないんだが
「ここを関数に切り出しておきたい」ってのも難しくね?
impl Traitあるだろって言われるけど、自分ひとりでできた試しが無い
174デフォルトの名無しさん (ワッチョイ 1301-nt2E)
2023/01/09(月) 22:31:09.52ID:ZXgjuOo50 >>173
.filter(|x| ...).map.(|x| …)とやったら
ざっくり言うと戻り値はIterator<Item=T>でowned, shared reference, mutable referenceの3種類
Map<Filter<...>>とかの詳細な型を知りたいと思うことは基本ないからそこまで困らない
デコレータとかコンポジション的なものとして理解しとけばいいと思う
関数に切り出すのはGC言語と比べると難しい
どの値の所有権をどの呼び出しレイヤーで保持すべきかを整理しながらリファクタリングする必要がある
ただある程度パターンがあるからそれが理解できるとそこまで難しくはない
.filter(|x| ...).map.(|x| …)とやったら
ざっくり言うと戻り値はIterator<Item=T>でowned, shared reference, mutable referenceの3種類
Map<Filter<...>>とかの詳細な型を知りたいと思うことは基本ないからそこまで困らない
デコレータとかコンポジション的なものとして理解しとけばいいと思う
関数に切り出すのはGC言語と比べると難しい
どの値の所有権をどの呼び出しレイヤーで保持すべきかを整理しながらリファクタリングする必要がある
ただある程度パターンがあるからそれが理解できるとそこまで難しくはない
175デフォルトの名無しさん (ワッチョイ d3c9-c71v)
2023/01/11(水) 20:45:10.66ID:+OHiCBbi0 >>174
標準ライブラリでiteratorのメソッドならそうなんだろうな、って他言語でも溜め込んだ知識で何とかなるけどさ、
例えばwarpっていうWebフレームワークはリクエストの解決にfilterを使ってるんだけど、
https://docs.rs/warp/latest/warp/filters/index.html
↑ここからたどって、例えばリクエストのパスにマッチするフィルタを作成するwarp::filters::pathってのがあるんだけど、
こいつの戻り値が独自型のExactってやつなのね
warp作ってる人はここに様々な条件を追加できるようにしているんだけど、pathの戻り値にどう組み合わせられるかってのをどう探せるんだろっていつもなってる
他のcrateも、単機能で目的果たせるライブラリならまだいいけど、高階関数で機能組み合わせてねってやつはrustdoc見ても意味が分からなくなってる
標準ライブラリでiteratorのメソッドならそうなんだろうな、って他言語でも溜め込んだ知識で何とかなるけどさ、
例えばwarpっていうWebフレームワークはリクエストの解決にfilterを使ってるんだけど、
https://docs.rs/warp/latest/warp/filters/index.html
↑ここからたどって、例えばリクエストのパスにマッチするフィルタを作成するwarp::filters::pathってのがあるんだけど、
こいつの戻り値が独自型のExactってやつなのね
warp作ってる人はここに様々な条件を追加できるようにしているんだけど、pathの戻り値にどう組み合わせられるかってのをどう探せるんだろっていつもなってる
他のcrateも、単機能で目的果たせるライブラリならまだいいけど、高階関数で機能組み合わせてねってやつはrustdoc見ても意味が分からなくなってる
176デフォルトの名無しさん (ワッチョイ 1301-nt2E)
2023/01/11(水) 23:31:54.91ID:B6T7GQUU0 >>175
ExactがFilterだと分かれば別のFilterを組み合わせられることはわかるでしょ?
warpのFilterシステムを理解させるための解説ドキュメントが不足してるのと
他で類似の仕組みをあまり経験したことがないのが理由なんじゃないのかな?
型が入れ子の形でチェインされてる状態に慣れてないから
それがわかりにくさの原因のように感じるかもしれないけど
JavaやgoのReader/Writerみたいにデコレータ的に型を重ねていくのはそんな特殊なことじゃないよ
ExactがFilterだと分かれば別のFilterを組み合わせられることはわかるでしょ?
warpのFilterシステムを理解させるための解説ドキュメントが不足してるのと
他で類似の仕組みをあまり経験したことがないのが理由なんじゃないのかな?
型が入れ子の形でチェインされてる状態に慣れてないから
それがわかりにくさの原因のように感じるかもしれないけど
JavaやgoのReader/Writerみたいにデコレータ的に型を重ねていくのはそんな特殊なことじゃないよ
177デフォルトの名無しさん (ワッチョイ 119b-EcXc)
2023/01/12(木) 07:36:35.15ID:fjq3kaV70 iterator系の処理はどんな言語でもやりすぎると意味不明なんでいい単位で説明変数や関数に切り出すのは大事だよ。
178デフォルトの名無しさん (ワッチョイ dbda-xq+Q)
2023/01/12(木) 10:57:06.97ID:yHqsf2Vi0 関数単位で切り出す場合はimpl TraitやBox<dyn Trait>使った方が良いと思う
実装の詳細が型として露出してしまうのはよろしくないし
何より長い型を書き下すのはめんどくさい
実装の詳細が型として露出してしまうのはよろしくないし
何より長い型を書き下すのはめんどくさい
179デフォルトの名無しさん (ワッチョイ d3c9-tb1I)
2023/01/13(金) 00:49:21.00ID:Eg8x4Zf+0 >>176 いやExactがFilterかどうかが分からないんだ。自信が無い
https://docs.rs/warp/latest/warp/filters/path/struct.Exact.html
https://docs.rs/warp/latest/warp/trait.Filter.html
↑2つを見ても、ExactがFilterをimplしているとは書いてないんだ
知ってたらマジで教えてほしいんだが、どこ見ればいいの?
>>178 そう思うのは人情だが、じゃあどういう型の関数にすればいいのかって話
ググらずに分かる?俺は分からなかった
https://docs.rs/warp/latest/warp/filters/path/struct.Exact.html
https://docs.rs/warp/latest/warp/trait.Filter.html
↑2つを見ても、ExactがFilterをimplしているとは書いてないんだ
知ってたらマジで教えてほしいんだが、どこ見ればいいの?
>>178 そう思うのは人情だが、じゃあどういう型の関数にすればいいのかって話
ググらずに分かる?俺は分からなかった
180デフォルトの名無しさん (ワッチョイ 795f-H4iZ)
2023/01/13(金) 01:52:07.98ID:USdCnak/0 >>179
非公開の(だけど実装が漏れている)FilterBaseトレイトを介してFilterを実装してるんだね……
FilterBaseが公開されていればExactのblanket implementationsに出てくるはず
同じことは指摘されているが放置されている模様
https://github.com/seanmonstar/warp/issues/742
非公開の(だけど実装が漏れている)FilterBaseトレイトを介してFilterを実装してるんだね……
FilterBaseが公開されていればExactのblanket implementationsに出てくるはず
同じことは指摘されているが放置されている模様
https://github.com/seanmonstar/warp/issues/742
181デフォルトの名無しさん (ワッチョイ d3c9-RZrR)
2023/01/13(金) 20:16:02.99ID:Eg8x4Zf+0 もしかして特段に分かりづらい構造だったのかWarp
182デフォルトの名無しさん (ワッチョイ 1301-nt2E)
2023/01/13(金) 21:03:44.68ID:4YqzJ2Gc0 Sealed TraitっていうユーザーにTraitを実装させないための一般的なパターンなんだけど
privateなTraitはドキュメントには現れないのでExactがFilterBaseを実装してることを確かめたければソースを見るしかない
でも関数や構造体の説明にFilterだよって書いてるんだからまずはそこからじゃないか?
path()「Create an exact match path segment Filter.」
Exact「A Filter matching an exact path segment.」
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:01.24ID:4QhVLL220 いや型の説明がコメントにしか無いかったら疑うのが基本じゃないか…?
説明にある通りの使い方はできるけど、何故そう使えるのか分からない、となった上での話
前にもちらっと書いたところもそうなんだけど、impl Filterを返す関数のシグネチャも独力だと分からなかったんだよ。もっと情報の少ないクレートでやる必要が出てきたら詰んじゃう
説明にある通りの使い方はできるけど、何故そう使えるのか分からない、となった上での話
前にもちらっと書いたところもそうなんだけど、impl Filterを返す関数のシグネチャも独力だと分からなかったんだよ。もっと情報の少ないクレートでやる必要が出てきたら詰んじゃう
184デフォルトの名無しさん (ワッチョイ 595f-qxpo)
2023/01/19(木) 13:09:59.92ID:CHvJHSS40 [T]と[T; N]があるように
strに対するSizedなstr<N>とかできんかね
strに対するSizedなstr<N>とかできんかね
185デフォルトの名無しさん (ワッチョイ a75f-+rQD)
2023/01/29(日) 03:46:54.24ID:qSgQK/Ke0 ttps://doc.rust-lang.org/beta/unstable-book/language-features/yeet-expr.html
名前の元ネタがよくわからん
名前の元ネタがよくわからん
186デフォルトの名無しさん (ワッチョイ db9b-kLGU)
2023/01/29(日) 04:28:40.21ID:iZgCgX3R0187デフォルトの名無しさん (ワッチョイ f6da-RqI+)
2023/01/29(日) 08:29:44.05ID:VTBemk9l0 意味合いとしては
> Yeet is a slang phrase meaning to throw with force
とのことらしい
https://internals.rust-lang.org/t/syntax-for-returning-early-with-an-error/14181
https://www.urbandictionary.com/define.php?term=Yeet
yeetの初出はここらしい
https://mobile.twitter.com/josh_triplett/status/1248658754976927750
命名に関するbikeshedを避けつつ機能を実験するために導入するみたいね
https://twitter.com/5chan_nel (5ch newer account)
> Yeet is a slang phrase meaning to throw with force
とのことらしい
https://internals.rust-lang.org/t/syntax-for-returning-early-with-an-error/14181
https://www.urbandictionary.com/define.php?term=Yeet
yeetの初出はここらしい
https://mobile.twitter.com/josh_triplett/status/1248658754976927750
命名に関するbikeshedを避けつつ機能を実験するために導入するみたいね
https://twitter.com/5chan_nel (5ch newer account)
188デフォルトの名無しさん (ワッチョイ 0f5f-xW4J)
2023/02/04(土) 16:11:28.39ID:4OrKEijd0189デフォルトの名無しさん (ドコグロ MM49-+MOc)
2023/02/26(日) 21:57:18.73ID:vJeOsMT8M 新スレとして再利用と聞いてage
190デフォルトの名無しさん (ワッチョイ 615f-+MOc)
2023/03/02(木) 01:57:12.70ID:9x7ptNRV0 ProviderとDemandってCOMのQueryInterface的な使い方もできるのかな
191デフォルトの名無しさん (ワッチョイ 715f-BZjt)
2023/03/07(火) 03:24:09.91ID:CjRtBzJ10 Bevy 0.10 is out now!
https://bevyengine.org/news/bevy-0-10/
https://bevyengine.org/news/bevy-0-10/
192デフォルトの名無しさん (ワッチョイ 715f-h7+G)
2023/03/10(金) 03:58:23.25ID:9+yNdzD90193デフォルトの名無しさん (ワッチョイ fbda-8+Io)
2023/03/10(金) 11:19:42.21ID:Rc7TQThZ0 cargoのsparse protocolは嬉しい
レスを投稿する
ニュース
- 【野球】大谷翔平、佐々木朗希、山本由伸らがWBC辞退なら広がる不協和音… 『過去イチ盛り上がらない大会』になる可能性も★2 [冬月記者★]
- 【国際】ロシアはすでに戦争準備段階――ポーランド軍トップが警告 [ぐれ★]
- 【news23】小川彩佳アナ「ここまでの広がりになるということを、高市総理はどれだけ想像できていたんでしょうね」 日中問題特集で [冬月記者★]
- 「町中華」の“息切れ倒産”が増加 ブームにも支えられ職人技で踏ん張ってきたが… 大手チェーンは値上げでも絶好調 [ぐれ★]
- 毛寧(もう・ねい)報道官「中国に日本の水産品の市場は無い」 高市首相の国会答弁に「中国民衆の強い怒り」 ★2 [ぐれ★]
- 立民・岡田氏の質疑「不適切」 維新・藤田氏、台湾有事答弁巡り [蚤の市★]
- 【悲報】日本、自民党(統一教会)で完全崩壊か?年金制度実質破綻、生活保護、国民健康保険廃止へ [383063292]
- ㊗157円 [194819832]
- 【高市売り】円安、止まらず!凄い勢いで暴落中。157円へ [219241683]
- なんでIDがHAPPYなの?
- 松屋博多駅南店にてナポリタンバーグ!
- ‎
