Mozilla発のRust言語のスレ
公式
https://www.rust-lang.org/
https://blog.rust-lang.org/
https://github.com/rust-lang/rust
Web上の実行環境
https://play.rust-lang.org
前スレ
Rust Part6
http://mevius.5ch.net/test/read.cgi/tech/1532714678/
Rust Part7
■ このスレッドは過去ログ倉庫に格納されています
2019/07/14(日) 23:31:47.54ID:PySyhRf9
189デフォルトの名無しさん
2019/08/27(火) 19:57:54.12ID:u0PkUgfg >>188
ありがとうございます、所有権を意識してto_ownedを使ったらいけました。
ありがとうございます、所有権を意識してto_ownedを使ったらいけました。
190デフォルトの名無しさん
2019/08/29(木) 18:47:18.36ID:DitGoMrU >>27の元ネタだが
We need a safer systems programming language
ttps://msrc-blog.microsoft.com/2019/07/18/we-need-a-safer-systems-programming-language/
Why Rust for safe systems programming
ttps://msrc-blog.microsoft.com/2019/07/22/why-rust-for-safe-systems-programming/
あたりを読むとあっちの会社はホント合理的だなと痛感する。C/C++を用いた安全な大規模システムの開発はムリゲーとし
同業他社の方針やツールを認め導入してしまう。日本の大手システム屋にこういう事を出来るところってあるんだろうか
We need a safer systems programming language
ttps://msrc-blog.microsoft.com/2019/07/18/we-need-a-safer-systems-programming-language/
Why Rust for safe systems programming
ttps://msrc-blog.microsoft.com/2019/07/22/why-rust-for-safe-systems-programming/
あたりを読むとあっちの会社はホント合理的だなと痛感する。C/C++を用いた安全な大規模システムの開発はムリゲーとし
同業他社の方針やツールを認め導入してしまう。日本の大手システム屋にこういう事を出来るところってあるんだろうか
191デフォルトの名無しさん
2019/08/29(木) 20:39:56.79ID:7sVXLGAA 合理的ね。。
「戦うプログラマー」読む限りはそうは思えんが。
都合のいいとこだけ切り取ってるな。
むしろ無理やり言語使わせるとかもろSIerのやり口だろ。ばかすぎる。
「戦うプログラマー」読む限りはそうは思えんが。
都合のいいとこだけ切り取ってるな。
むしろ無理やり言語使わせるとかもろSIerのやり口だろ。ばかすぎる。
192デフォルトの名無しさん
2019/08/29(木) 21:33:28.37ID:Bp0lvm+/ 闘うプログラマーと言えば当時からC++は魔境過ぎてヤベェみたいな記載があって笑った記憶ある。
193デフォルトの名無しさん
2019/08/30(金) 12:23:15.14ID:Q74gFuRN 無理矢理使わせてるということは今後出てくるMSプロダクトは全部Rust製になるのか?
194デフォルトの名無しさん
2019/08/30(金) 12:35:18.57ID:ATaHXAWZ195デフォルトの名無しさん
2019/08/30(金) 13:06:45.92ID:KMS/yKjh JavaScript → TypeScript(型チェック) とか C++ → Rust(借用チェック) みたいな
用途・特性が似通った言語でより安全な方を使わせるってのは、単なるリスクマネジメントであって
SIerのナンデモJava事案とは違うと思う
用途・特性が似通った言語でより安全な方を使わせるってのは、単なるリスクマネジメントであって
SIerのナンデモJava事案とは違うと思う
196デフォルトの名無しさん
2019/08/30(金) 15:21:18.59ID:cnXxJRuX ポストC/C++の座にRustを据えるかどうかはともかくC/C+お払い箱は確定事項じゃね
つーかMSRCの記事の何処にも無理矢理使わせているなんて書いていないぞ?
つーかMSRCの記事の何処にも無理矢理使わせているなんて書いていないぞ?
197デフォルトの名無しさん
2019/08/30(金) 15:28:58.11ID:GEn/r+mZ Cは永遠に不滅です
C++は知らん
C++は知らん
198デフォルトの名無しさん
2019/08/30(金) 18:16:53.32ID:XBvkkCPm Rust学び始めたけど噂通りむずい...
やりたいのはcli/tuiとかwebなので習得が無理そうだったら大人しくGoを使うことにする...(´・ω・`)
やりたいのはcli/tuiとかwebなので習得が無理そうだったら大人しくGoを使うことにする...(´・ω・`)
199デフォルトの名無しさん
2019/08/30(金) 18:25:46.18ID:uWYoaax5 結局C以外でOSは厳しくないかと思うのよね
200デフォルトの名無しさん
2019/08/30(金) 22:21:40.26ID:Q3blvaVM201デフォルトの名無しさん
2019/08/30(金) 22:22:25.51ID:HNXTienF OSはアセンブラで書くのが常識だった
202デフォルトの名無しさん
2019/08/30(金) 22:58:53.71ID:Okk0GWIA >>200
OS書かなくても自家製メモリ管理作ってみれば想像できるだろ。
OS書かなくても自家製メモリ管理作ってみれば想像できるだろ。
203デフォルトの名無しさん
2019/08/31(土) 00:42:16.72ID:aUMbNTSE ちゃんとしたmallocを作ること自体が難しいのであってCかRustかは難しさへは影響しない
204デフォルトの名無しさん
2019/08/31(土) 15:15:02.18ID:j8rV2wO1 GCはクソ!だからRust最高!
とイキがってた奴がボローチェッカにボコボコにされてGCの良さを体感するまでが通過儀礼
どっかにドリルないですかね。>187みたいな問題がサラッと解けるようになりたい
とイキがってた奴がボローチェッカにボコボコにされてGCの良さを体感するまでが通過儀礼
どっかにドリルないですかね。>187みたいな問題がサラッと解けるようになりたい
205デフォルトの名無しさん
2019/08/31(土) 16:16:15.52ID:pCVRgCCA GCがクソだと思ったからRust使うという意識なかったな
206デフォルトの名無しさん
2019/08/31(土) 20:44:28.04ID:BqsPi00f >>187 みたいな感じのはリファレンス読んで関数やメソッドが参照返すのか値返すのか調べるだけ
207デフォルトの名無しさん
2019/08/31(土) 21:13:02.78ID:apjBRhon Rustはボローチェッカーのご機嫌取りが必要だが
GCある言語で性能が欲しいとか言い出すとGCのご機嫌取りが始まる
GCある言語で性能が欲しいとか言い出すとGCのご機嫌取りが始まる
208デフォルトの名無しさん
2019/08/31(土) 21:20:45.92ID:ny+pXiR9 結局乗りこなしたものが勝ちか、
209デフォルトの名無しさん
2019/08/31(土) 21:23:30.02ID:z8QlYv6E 所有権という概念をつかむのに苦労はしたけど、結果的にはプログラミングを簡単にしてくれていると思う
210デフォルトの名無しさん
2019/08/31(土) 23:46:50.72ID:4X1UTBje ライブラリの開発者以外に所有権意識させたのは良いと思う
211デフォルトの名無しさん
2019/09/01(日) 01:29:28.40ID:sYwYgS29 GCが糞っていうより
糞実装のGCが多過ぎて
大抵の人はGCで糞な思いをするから
GCが糞だと言う誤解というか評判になってるだけ
実際糞だが
糞実装のGCが多過ぎて
大抵の人はGCで糞な思いをするから
GCが糞だと言う誤解というか評判になってるだけ
実際糞だが
212デフォルトの名無しさん
2019/09/01(日) 02:04:31.88ID:n9Ep1hQW ガベッジだって言う人もいるけど
俺は宝物って呼んでる
俺は宝物って呼んでる
213デフォルトの名無しさん
2019/09/01(日) 04:36:12.23ID:t9AOVqXM 世界を止めて宝物集めするプログラム
214デフォルトの名無しさん
2019/09/01(日) 10:19:52.00ID:ee5jndrf それで >>187 はどう書くのが定番なの?
215デフォルトの名無しさん
2019/09/01(日) 10:31:43.36ID:kCJZVLuH 続きを読むには会員登録が必要です
216デフォルトの名無しさん
2019/09/01(日) 11:33:11.94ID:gzRpR9B4 ライフタイムパラメータの省略ルールはマジ糞
217デフォルトの名無しさん
2019/09/01(日) 17:44:41.81ID:ugxLNVG7 >>198
ぼくも(´・ω・`)
ぼくも(´・ω・`)
218デフォルトの名無しさん
2019/09/01(日) 20:06:47.18ID:WaPsmCL5 クロージャの中で?が使えない…
パトラッシュ、僕はもう疲れたよ(´・ω・`)
パトラッシュ、僕はもう疲れたよ(´・ω・`)
219デフォルトの名無しさん
2019/09/01(日) 21:46:45.96ID:M++YO15h 同じ処理するにしてもRustだと複雑で冗長になるんだよな
もしかして糞言語なんじゃね?
もしかして糞言語なんじゃね?
220デフォルトの名無しさん
2019/09/01(日) 21:54:48.86ID:yg5jHaTZ221デフォルトの名無しさん
2019/09/02(月) 00:09:16.32ID:O1/eX6ND メモリ壊して苦労するか
パフォーマンスで苦労するか
コーディングで苦労するか
お好きな物をどうぞ
パフォーマンスで苦労するか
コーディングで苦労するか
お好きな物をどうぞ
222デフォルトの名無しさん
2019/09/02(月) 01:49:49.02ID:ZvAgdUy5 >>221
C++17以降なら全部実現できるよ
C++17以降なら全部実現できるよ
223デフォルトの名無しさん
2019/09/02(月) 04:32:52.76ID:VKrglic+ >>219
+1
+1
224デフォルトの名無しさん
2019/09/02(月) 10:25:41.82ID:+zTucd5y Bookを6章まで読んだ俺が >>187 を書いたらこうなった
https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=dc60559b7af47298d305be80b340ee98
&strじゃなくてStringだけど
https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=dc60559b7af47298d305be80b340ee98
&strじゃなくてStringだけど
225デフォルトの名無しさん
2019/09/02(月) 17:43:48.84ID:c28qQK2V 俺はこう
https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=aa72b77d2eebc44833b647e46b13e020
Stringは必然と思う
https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=aa72b77d2eebc44833b647e46b13e020
Stringは必然と思う
226デフォルトの名無しさん
2019/09/02(月) 17:52:48.76ID:XClX12is そういや、String(のclone)を一生懸命に避けてほんとに意味があるのか
コードを無駄に複雑化させただけなんじゃないかと悩む事が多い
コードを無駄に複雑化させただけなんじゃないかと悩む事が多い
227デフォルトの名無しさん
2019/09/02(月) 21:13:54.24ID:c28qQK2V 執着する必要はないと思うけど、そんな複雑になる?
228デフォルトの名無しさん
2019/09/02(月) 21:43:41.81ID:+zTucd5y >>225 だとOsStringですけど、Stringにするにはどうすれば・・・?
229デフォルトの名無しさん
2019/09/02(月) 22:09:52.04ID:c28qQK2V こうかな
https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=91e57950a6bf6c922ff4f3d0b7531a0b
https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=91e57950a6bf6c922ff4f3d0b7531a0b
230デフォルトの名無しさん
2019/09/02(月) 22:48:02.88ID:+zTucd5y なるほど
Derefが必要ない場合は直接書いちゃえばいけるのか
ありがとうございます
Derefが必要ない場合は直接書いちゃえばいけるのか
ありがとうございます
231デフォルトの名無しさん
2019/09/02(月) 23:19:28.73ID:IDvyRsTF >>229
curry化と部分束縛が欲しくなる
curry化と部分束縛が欲しくなる
232デフォルトの名無しさん
2019/09/02(月) 23:39:57.31ID:c28qQK2V え、こんな短いコードで?
233デフォルトの名無しさん
2019/09/03(火) 00:05:15.13ID:i5o7yZzz なんでもかんでもメソッドチェーンにしないで適当なところで束縛した方がRustのコードは読みやすくなる
234デフォルトの名無しさん
2019/09/03(火) 00:26:49.25ID:vCzpmz3O それはあるな。シャドーイングできるから変数名に悩まないし、
単に長くなったところで再束縛すればいい。
単に長くなったところで再束縛すればいい。
235デフォルトの名無しさん
2019/09/03(火) 11:07:53.94ID:CeNKL5mb 界隈の潮流では「部分的なc++化」というものがあり、Javaですらジェネリクス/テンプレートを取り入れた
rustもそうなる
rustもそうなる
236デフォルトの名無しさん
2019/09/03(火) 12:43:41.50ID:JzHlK+VD あれ?もうあるもんかと思ってた
237デフォルトの名無しさん
2019/09/03(火) 16:01:22.65ID:BrE32zWk ジェネリクスはあるよね
238デフォルトの名無しさん
2019/09/03(火) 16:30:08.77ID:9SeNEnhh 関数型言語で優雅にやってたことを
マクロの延長みたいな形で泥臭く実装するのがC++化
マクロの延長みたいな形で泥臭く実装するのがC++化
239デフォルトの名無しさん
2019/09/03(火) 18:15:35.61ID:sT1C29Io そもそもC++化の潮流なんてあるか?
各言語それぞれ取り入れあってるとは思うが。
各言語それぞれ取り入れあってるとは思うが。
240デフォルトの名無しさん
2019/09/03(火) 18:21:34.78ID:kwJMCUaG 仕様がごちゃごちゃすることをC++化と呼んでるだけでしょ
241デフォルトの名無しさん
2019/09/03(火) 19:54:14.07ID:66Dg9oep ランタイム速度は落ちない?じゃいれるべ。
がc++の潮流
がc++の潮流
242デフォルトの名無しさん
2019/09/03(火) 22:37:59.52ID:++bLAvti いや、javaのジェネリックスとC++のテンプレートの区別が付かないやつの言うことがそもそもおかしい。
パラメタ多相とメタプログラミングは別もんだぞ。むしろ最近のテンプレートがパラメタ多相に寄ってきたんだろ。
パラメタ多相とメタプログラミングは別もんだぞ。むしろ最近のテンプレートがパラメタ多相に寄ってきたんだろ。
243デフォルトの名無しさん
2019/09/03(火) 22:50:06.30ID:BrE32zWk なんだか難しい言葉がいっぱいあるんだね
rustのが簡単でいいや
rustのが簡単でいいや
244デフォルトの名無しさん
2019/09/03(火) 22:52:35.24ID:k5ZNWOhV Rustむずい😭
245デフォルトの名無しさん
2019/09/04(水) 07:28:03.17ID:YY7F2+PA Rustは難しくないよ
ただコンパイラがいけずなだけ
ただコンパイラがいけずなだけ
246デフォルトの名無しさん
2019/09/04(水) 08:42:51.41ID:PFx+vIBX >>242
こういう輩が一番何もわかってないタイプ。
そりゃとりあえず違う言う解けば違うところは一つくらいは見つかるだろうよ。
どこが違ってどこが同じか話さずに用語を使ってけんかにしかならん。
少なくともこれくらいの説明は必要。
https://qiita.com/matarillo/items/4870bb974f7a1900ef7c
こういう輩が一番何もわかってないタイプ。
そりゃとりあえず違う言う解けば違うところは一つくらいは見つかるだろうよ。
どこが違ってどこが同じか話さずに用語を使ってけんかにしかならん。
少なくともこれくらいの説明は必要。
https://qiita.com/matarillo/items/4870bb974f7a1900ef7c
247デフォルトの名無しさん
2019/09/04(水) 11:39:08.73ID:IWibi2Vo >>246
結局人の文章引用してる()
結局人の文章引用してる()
248デフォルトの名無しさん
2019/09/04(水) 11:39:12.24ID:IWibi2Vo >>246
結局人の文章引用してる()
結局人の文章引用してる()
249デフォルトの名無しさん
2019/09/04(水) 11:53:42.64ID:2WEW3nlz 本人の可能性
250デフォルトの名無しさん
2019/09/04(水) 12:02:33.30ID:rDpqFBPU 俺は一流のエンジニアだぞ
なんてったって毎日Qiitaを見てるし足りてない知識はQiitaで検索して補ってる
なんてったって毎日Qiitaを見てるし足りてない知識はQiitaで検索して補ってる
251デフォルトの名無しさん
2019/09/04(水) 13:07:39.19ID:OPoewtpz そんなもんちょっと調べりゃすぐわかるのに
252デフォルトの名無しさん
2019/09/04(水) 18:49:08.58ID:U5+bjz/t 俺はなんとか多相なんて調べない
どうでもいいし
どうでもいいし
253デフォルトの名無しさん
2019/09/04(水) 19:02:15.65ID:2Txd6K3L こないだ秋葉原で「まれいたそーまれいたそー」ってうつむきながら呟いてた黒髪ロン毛のデブがいたんだけど、
この「マレイ多相」とは何ですか?
この「マレイ多相」とは何ですか?
254デフォルトの名無しさん
2019/09/04(水) 19:57:18.15ID:IIaKpyB5 ???「黙れ多相!」
255デフォルトの名無しさん
2019/09/04(水) 21:12:03.63ID:QzZNrHDq m array 多相といってモナディックな扱いの配列における多相性である(民明書房「世界の多相」より)
256デフォルトの名無しさん
2019/09/05(木) 00:15:36.96ID:QWLCfgVe 袖すり合うも多相の縁
257デフォルトの名無しさん
2019/09/05(木) 00:56:25.25ID:FxCb5fYw では中世においてしばしば見られた介錯い多相とは?
258デフォルトの名無しさん
2019/09/05(木) 08:01:29.13ID:3AoluiiY 結局誰も理解してないっていうw
259デフォルトの名無しさん
2019/09/05(木) 09:14:01.74ID:z5gxm4PC パラメタ多相とテンプレートを並べるのはおかしい
多相は性質
多相は性質
260デフォルトの名無しさん
2019/09/05(木) 09:14:42.45ID:Y6QHjuf9 じゃあ >>242 に言及するけどC++のテンプレートも本来はパラメトリック多相としての役割を元々は期待して導入された
パラメトリック多相は >>246 のリンクでもあるように元々の型記述に追加パラメータとなるトークンを渡す事で多相性、誤解を恐れずに言えば型の制約を緩くして記述量を減らすものである
よって多相性によって単一の記述から複数の型に対する実装の様に見えるものを生成できる
この単一の記述から複数の実装を生成できるというのが本質的にメタプログラミング的で、C++のテンプレートはそのレイヤーがハードウェアに近いが故にコンパイル時に展開される事
また再帰が可能である事と幽霊型のような型を作れる事とSFINAEに加えて非型テンプレートパラメタにより複数の実装を生成するメタプログラミング的な運用が特別目立った
これのコンパイルエラーの煩雑さや理解の難しさからC++以降のパラメトリック多相用言語機能は敢えてメタプログラミングがしにくいようにRustでは非型パラメタは与えられなかったり(そうする提案も現在あるが)
多相性の側面を強調して利便性を上げるために部分型や構造的部分型(これまた >>246 のサブタイピング多相の一種で、同等のメソッド(関数)やフィールドがある場合にそれらを派生型と見做す)の記述構文を導入したりしている
最後の型パラメタに対する部分型記述に関してはC++もConceptとして導入するとのことだがそれはまた別の話だろう
長文失礼
パラメトリック多相は >>246 のリンクでもあるように元々の型記述に追加パラメータとなるトークンを渡す事で多相性、誤解を恐れずに言えば型の制約を緩くして記述量を減らすものである
よって多相性によって単一の記述から複数の型に対する実装の様に見えるものを生成できる
この単一の記述から複数の実装を生成できるというのが本質的にメタプログラミング的で、C++のテンプレートはそのレイヤーがハードウェアに近いが故にコンパイル時に展開される事
また再帰が可能である事と幽霊型のような型を作れる事とSFINAEに加えて非型テンプレートパラメタにより複数の実装を生成するメタプログラミング的な運用が特別目立った
これのコンパイルエラーの煩雑さや理解の難しさからC++以降のパラメトリック多相用言語機能は敢えてメタプログラミングがしにくいようにRustでは非型パラメタは与えられなかったり(そうする提案も現在あるが)
多相性の側面を強調して利便性を上げるために部分型や構造的部分型(これまた >>246 のサブタイピング多相の一種で、同等のメソッド(関数)やフィールドがある場合にそれらを派生型と見做す)の記述構文を導入したりしている
最後の型パラメタに対する部分型記述に関してはC++もConceptとして導入するとのことだがそれはまた別の話だろう
長文失礼
261デフォルトの名無しさん
2019/09/05(木) 13:08:36.58ID:aevPv9ig https://doc.rust-lang.org/std/pin/index.html
このページのExample: self-referential structの構造体Unmovableのフィールドslice: NonNull<String>を、
Stringの実装してるトレイトのトレイトオブジェクト(slice: NoneNull<Box<Display>> みたいに)とすることって出来ないでしょうか
このページのExample: self-referential structの構造体Unmovableのフィールドslice: NonNull<String>を、
Stringの実装してるトレイトのトレイトオブジェクト(slice: NoneNull<Box<Display>> みたいに)とすることって出来ないでしょうか
262デフォルトの名無しさん
2019/09/05(木) 18:33:11.32ID:FLvFWYrW >>260
Rust の const generics はすでに提案段階を過ぎてて短期的目標に入ってるゾ
Rust の const generics はすでに提案段階を過ぎてて短期的目標に入ってるゾ
263デフォルトの名無しさん
2019/09/05(木) 21:06:15.78ID:Y6QHjuf9264デフォルトの名無しさん
2019/09/05(木) 21:34:25.18ID:B6sVqyux Python歴半年(=プログラミング歴)とかの人がいきなりRustに手を出すのって無謀でしょうか?
265デフォルトの名無しさん
2019/09/05(木) 22:31:27.10ID:O7Dd9aK6 いいんじゃないの
ただなんでわざわざこんな事すんだよやりずれぇわ死ね
と思う回数が経験積んだ人より増えそうだけど
ただなんでわざわざこんな事すんだよやりずれぇわ死ね
と思う回数が経験積んだ人より増えそうだけど
266デフォルトの名無しさん
2019/09/05(木) 23:11:49.08ID:KiRcB+KC それはすらいね
267デフォルトの名無しさん
2019/09/06(金) 19:19:12.72ID:d+J9jL2b いろんな言語やったあげくC++に不満がある人にとっての解がRust
この両方を満たしていない人にとってはピンとこねえのがRust
この両方を満たしていない人にとってはピンとこねえのがRust
268デフォルトの名無しさん
2019/09/06(金) 19:40:53.97ID:1QpLZiiB メモリをぶっ壊して涙目になったことがある人向け
269デフォルトの名無しさん
2019/09/06(金) 23:45:30.10ID:f24aCaox 謎のメモリリークで徹夜するハメになった人向け
俺か
俺か
270デフォルトの名無しさん
2019/09/07(土) 02:53:55.86ID:VkB2thai メモリぶっ壊して(物理)涙目
271デフォルトの名無しさん
2019/09/07(土) 10:51:27.79ID:rn3Y4CEm Rust使うよりメモリモジュール買い換えた方が良くない?
272デフォルトの名無しさん
2019/09/07(土) 20:04:48.19ID:KiJcQcmB rustは安全に開発できるというのは本当か??何故バッファエラーは起きた?
https://jvndb.jvn.jp/ja/contents/2019/JVNDB-2019-008825.html
JVNDB-2019-008825
Rust 用 slice-deque crate におけるバッファエラーの脆弱性
https://jvndb.jvn.jp/ja/contents/2019/JVNDB-2019-008825.html
JVNDB-2019-008825
Rust 用 slice-deque crate におけるバッファエラーの脆弱性
273デフォルトの名無しさん
2019/09/07(土) 20:58:29.50ID:6BNVy7tp (´-`).。oO(なんでだろう?)
274デフォルトの名無しさん
2019/09/07(土) 22:06:13.68ID:914xKiQ0 crates.ioでunsafe何ヶ所使ってるか表示して欲しいわ
275デフォルトの名無しさん
2019/09/07(土) 22:19:57.54ID:fv/Y0QyY そしてunsafeがモナドで包まれるように…
276デフォルトの名無しさん
2019/09/08(日) 00:03:54.78ID:KXmQOAwm スライスみたいなことをしようとしたら本質的にはどうにもならんだろ。
安全性か効率化か結局選ぶことになる。
安全性か効率化か結局選ぶことになる。
277デフォルトの名無しさん
2019/09/08(日) 01:39:50.98ID:D+CIKcq7 モナドって、、もすかすてRustってHaskell並に面倒なん?
278デフォルトの名無しさん
2019/09/08(日) 09:53:10.07ID:46Wp6heU 21世紀の現代では何を作っても一週間程度で複雑さはMAXに達する
プログラミング言語のRustでもそれは同じ
プログラミング言語のRustでもそれは同じ
279デフォルトの名無しさん
2019/09/09(月) 09:56:40.65ID:950wQDvR let mut v = vec!["zero".to_string(), "one".to_string()];
v[0] = v[1];
これがダメなのも対処も、まあわかるようになったのですが
error[E0507]: cannot move out of index of `std::vec::Vec<std::string::String>`
というエラーメッセージがわかりません
どういう流れでこのメッセージが出るのでしょうか
v[0] = v[1];
これがダメなのも対処も、まあわかるようになったのですが
error[E0507]: cannot move out of index of `std::vec::Vec<std::string::String>`
というエラーメッセージがわかりません
どういう流れでこのメッセージが出るのでしょうか
280デフォルトの名無しさん
2019/09/09(月) 10:08:00.36ID:elDbcwTD >>279
StringがCopy traitを実装してないからコピーできない
StringがCopy traitを実装してないからコピーできない
281デフォルトの名無しさん
2019/09/09(月) 10:16:14.57ID:950wQDvR いやそれはわかる
エラーメッセージの意味がわからない
どこがどうだからこのメッセージになるのか具体的に理解したい
エラーメッセージの意味がわからない
どこがどうだからこのメッセージになるのか具体的に理解したい
282デフォルトの名無しさん
2019/09/09(月) 10:51:58.70ID:950wQDvR なんというかメッセージのindexがよくわからない感じ
メッセージを日本語にするとどうなるんでしょう
メッセージを日本語にするとどうなるんでしょう
283デフォルトの名無しさん
2019/09/09(月) 11:06:00.37ID:elDbcwTD >>281
逆に考えて v[1] をまんまとムーブ出来たら、その跡地はどうなるの?
逆に考えて v[1] をまんまとムーブ出来たら、その跡地はどうなるの?
284デフォルトの名無しさん
2019/09/09(月) 11:12:50.90ID:01u4b8kP out of indexっていうけど、index内なんじゃないの?って疑問じゃないの?
俺はわからない
俺はわからない
285デフォルトの名無しさん
2019/09/09(月) 11:16:35.82ID:8pEaV4bB out of indexではなくてmove out ofで出ていくって意味。
move out of borrowed contentとかと同じ。
move out of borrowed contentとかと同じ。
286デフォルトの名無しさん
2019/09/09(月) 11:17:42.46ID:950wQDvR なんか move out of 〜で引っ越すとか出ていくという意味があるらしいんだけど
それでも index がよくわからなくて悩んでます
それでも index がよくわからなくて悩んでます
287デフォルトの名無しさん
2019/09/09(月) 11:32:45.67ID:8pEaV4bB indexは[]演算子を提供してるIndexトレイトのindexメソッドかな。
288デフォルトの名無しさん
2019/09/09(月) 11:39:50.47ID:xIOozne9 v[0]使うからindexの意味がややこしいんでは
let x = v[1]; でも同じエラーになるのを見たら、indexアクセス経由で値をmoveする(=引き剥がす)のはまかりならんと分かる
でコピーできるなら値が残るので問題にならない
let x = v[1]; でも同じエラーになるのを見たら、indexアクセス経由で値をmoveする(=引き剥がす)のはまかりならんと分かる
でコピーできるなら値が残るので問題にならない
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「日本はドイツと違い反省せず」…中国外相、独外相に対日批判 台湾問題で理解求める [少考さん★]
- 【おこめ券】鈴木農相 米価維持の意図「一切ない」 [ぐれ★]
- バリ島で男子生徒ら集団万引きか、防犯カメラ映像が拡散 京都の大谷中学・高校が「窃盗行為」謝罪★6 [七波羅探題★]
- 【苺ましまろ】立民衆院議員、人気漫画の水着少女画像を「醜悪」タイ人少女の性搾取事件と関連付け…党内で反発 [少考さん★]
- 「残業キャンセル界隈」若者が増加?「職務放棄」との批判も…“定時退社の権利”どこまで通用するか [七波羅探題★]
- 【裁判】保育所に侵入…園児の下着盗んだ窃盗などの罪 41歳の男に有罪判決 岡山地裁 [nita★]
- 高市「日本版DOGEをつくる!無駄金削減するぞ!」自らの収支報告書すらまとも作れないコイツが削減できるものと言ったら? [472617201]
- 愛国者「大東亜戦争はアジア解放のための戦い」 [834922174]
- 30過ぎた大人おじさんが大学生(昔)のままのファッションをする「おじさんキッズコーデ」、炎上して問題視される。 [153490809]
- 【高市悲報】中国軍「公海で空母の発着訓練するって事前通告したのになんで自衛隊機は急接近してきたんだ…?」中国軍困惑 [931948549]
- 1ドル156円、円安 [943688309]
- 日本人のおでん離れ。作る回数減った30.1%🍢 [256556981]
