公式
https://www.rust-lang.org/
https://blog.rust-lang.org/
https://github.com/rust-lang/rust
公式ドキュメント
https://www.rust-lang.org/learn
Web上の実行環境
https://play.rust-lang.org
※Rustを学びたい人はまず最初に公式のThe Bookを読むこと
https://doc.rust-lang.org/book/
※Rustを学ぶ際に犯しがちな12の過ち
https://dystroy.org/blog/how-not-to-learn-rust
※Rustのasyncについて知りたければ「async-book」は必読
https://rust-lang.github.io/async-book/
※次スレは原則>>980が立てること
前スレ
Rust part20
https://mevius.2ch.net/test/read.cgi/tech/1677771928/
ワッチョイスレ
プログラミング言語 Rust 4【ワッチョイ】
https://mevius.2ch.net/test/read.cgi/tech/1514107621/
Rust part21
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2023/08/15(火) 22:24:39.45ID:xzxy4cgp762デフォルトの名無しさん
2023/12/30(土) 05:19:08.00ID:slhZof7h >>761
「出してください」な
「出してください」な
763デフォルトの名無しさん
2023/12/30(土) 05:21:27.73ID:slhZof7h まあちゃんと「出してください」って言われても俺の分野がバレない奴があったか悩ましいが
764デフォルトの名無しさん
2023/12/30(土) 05:28:06.55ID:slhZof7h こういうのは具体的を出すということ自体が結構難しいんだよな
>>761が使っているライブラリでバージョンが1未満のものを上げるとかしてくれたら話が早い
>>761が使っているライブラリでバージョンが1未満のものを上げるとかしてくれたら話が早い
765デフォルトの名無しさん
2023/12/30(土) 06:29:39.39ID:GnED1sKw Rust勉強中。アノテーション注釈が出てきたところで流行らない理由をなんとなく察する
ヌルポとメモリーリークを防げるから個人開発で使う分にはいいけど。会社で広める気にはならない
学習コスト高いわ
ヌルポとメモリーリークを防げるから個人開発で使う分にはいいけど。会社で広める気にはならない
学習コスト高いわ
766デフォルトの名無しさん
2023/12/30(土) 10:07:43.55ID:bcJEqtzR async traitが安定化されてる!!!
https://blog.rust-lang.org/2023/12/28/Rust-1.75.0.html
https://blog.rust-lang.org/2023/12/28/Rust-1.75.0.html
767デフォルトの名無しさん
2023/12/30(土) 10:32:04.21ID:QGv3PFfa768デフォルトの名無しさん
2023/12/30(土) 11:16:50.31ID:kCUZZSzY769デフォルトの名無しさん
2023/12/30(土) 11:33:27.15ID:d4YZn3CY the book はきついよね
770デフォルトの名無しさん
2023/12/30(土) 11:41:42.24ID:scaDM36O staticを自粛する言語はみんな高コスト
チェリーピッキングみたいに最高値の近辺だけが高いという指摘はうさんくさい
チェリーピッキングみたいに最高値の近辺だけが高いという指摘はうさんくさい
771デフォルトの名無しさん
2023/12/30(土) 12:22:34.64ID:WjlNag1n772デフォルトの名無しさん
2023/12/30(土) 18:18:48.80ID:Ycw4kjfb >>759
自分が具体的なことを書いていないという指摘は否定しないw
自分が具体的なことを書いていないという指摘は否定しないw
773デフォルトの名無しさん
2023/12/31(日) 05:11:31.11ID:15iRFp/+ >>765
ライフタイム注釈はたいてい一意に定まりその時は省略できるから面倒にならないよ
省略できず明示的にライフタイム注釈を指定しないといけない場合は
例えば複数の参照を受け取り参照を返す関数などでそれら参照間の関係を指定する
ライフタイム注釈はたいてい一意に定まりその時は省略できるから面倒にならないよ
省略できず明示的にライフタイム注釈を指定しないといけない場合は
例えば複数の参照を受け取り参照を返す関数などでそれら参照間の関係を指定する
774デフォルトの名無しさん
2023/12/31(日) 10:19:28.53ID:kd8WxVq5775デフォルトの名無しさん
2023/12/31(日) 10:35:21.39ID:NOiZF6ke なまじライフタイムを省略できるせいでライフタイム未修得でも書けてしまう言語なので、いざライフタイム省略出来ない時が来た時に脳がバグる
776デフォルトの名無しさん
2023/12/31(日) 11:15:14.55ID:sbs7ggSq ライフタイムの記述は省略できることはあっても常にライフタイムを意識しながら書かなきゃいけない
それに省略できない場面にも日々遭遇するから「省略できるから面倒にならない」みたいな初心者釣りはやめた方がいい
暗黙的に意識しなきゃいけないC++に比べればある意味面倒ではないという程度
それに省略できない場面にも日々遭遇するから「省略できるから面倒にならない」みたいな初心者釣りはやめた方がいい
暗黙的に意識しなきゃいけないC++に比べればある意味面倒ではないという程度
777デフォルトの名無しさん
2023/12/31(日) 11:24:54.37ID:rKdc/qeD マクロやFFIのようなやや高度な機能を除いた基本機能の中ではライフタイムが一番難しくて一番面倒
性能と引き換えに受け入れなければいけない面倒臭さ
性能と引き換えに受け入れなければいけない面倒臭さ
778デフォルトの名無しさん
2023/12/31(日) 12:07:26.58ID:8Uv46fmp ライフタイム意識しなくても良いと騙されて書き始めた人間のがライフタイムに恐れを抱いて迂回しながら書いた至る所でcloneして値渡するコード
779デフォルトの名無しさん
2023/12/31(日) 13:31:13.38ID:K3mMRoqD まあ C++ と比較するとおおよそ良くなってると思うが C++ で不都合なく寿命管理できる能力があるなら Rust でライフタイムを明記するのを面倒と感じることはあるだろうな。
人類は駄目なので実際には頻繁に問題を起こすという現実があるんだけどさ。 わかってても間違うのが人類。
人類は駄目なので実際には頻繁に問題を起こすという現実があるんだけどさ。 わかってても間違うのが人類。
780デフォルトの名無しさん
2023/12/31(日) 13:50:46.98ID:PS1jMjj+ お金を賭ければ失敗することもあるけど賭けなければどうということはない
どっちも現実なんだけどリスク回避=現実逃避だと思ってるのが人類あるある
どっちも現実なんだけどリスク回避=現実逃避だと思ってるのが人類あるある
781デフォルトの名無しさん
2023/12/31(日) 14:00:16.32ID:8Uv46fmp C++で不都合なく寿命管理出来る能力があったらライフタイム管理なんて数文字タイプが増えるだけになのでは
782デフォルトの名無しさん
2023/12/31(日) 14:02:49.07ID:JAX3toXP >>779
Rustで性能&安全性優位になるのは積極的にスタックに積んで参照使いまくった場合だろうけど、c++だとスマートポインタとアロケータで最適化しとけという話になるからなぁ。
どんくらい性能差あるのかわからん。
Rustで性能&安全性優位になるのは積極的にスタックに積んで参照使いまくった場合だろうけど、c++だとスマートポインタとアロケータで最適化しとけという話になるからなぁ。
どんくらい性能差あるのかわからん。
783デフォルトの名無しさん
2023/12/31(日) 14:05:38.66ID:K3mMRoqD >>781
出来ると思ってるが実際には出来てないって話さ
出来ると思ってるが実際には出来てないって話さ
784デフォルトの名無しさん
2023/12/31(日) 16:01:28.24ID:r3ulhjhy もうRustじゃ無理なんだよ
785デフォルトの名無しさん
2023/12/31(日) 17:31:22.31ID:15iRFp/+ >>784
Rustが有利という話の流れの中で唐突にRustが何か無理なことある?
Rustが有利という話の流れの中で唐突にRustが何か無理なことある?
786デフォルトの名無しさん
2023/12/31(日) 18:02:32.92ID:K3mMRoqD プログラミング出来ない人は本当に出来ない。
C++ を使えているくらいの人なら Rust を (良いと思うかどうかは別として) 真面目に学べば使いこなせるだろうけど、初心者が最初に学び始めるには全く向いてないなぁと思うくらいのハードルの高さはあると思う。
C++ を使えているくらいの人なら Rust を (良いと思うかどうかは別として) 真面目に学べば使いこなせるだろうけど、初心者が最初に学び始めるには全く向いてないなぁと思うくらいのハードルの高さはあると思う。
787デフォルトの名無しさん
2023/12/31(日) 18:29:47.72ID:15iRFp/+ プログラミング出来ない人にRustはハードルが高いという主張か
788デフォルトの名無しさん
2023/12/31(日) 19:12:47.61ID:SnRIdEnt ゴミには何触らせてもゴミ
789デフォルトの名無しさん
2023/12/31(日) 20:25:01.01ID:d6XbubcX >>786
単に最近のスクリプト言語が簡単過ぎるだけだと思うけどね
ブイブイ言わせてる()モダンなスクリプト言語使いが
俺たちRustも書けるっしょwみたいなノリで挑戦して
書けなくて諦めるというのを何度も見てきた
本来プログラミングってのはこの程度は難しいものよ
単に最近のスクリプト言語が簡単過ぎるだけだと思うけどね
ブイブイ言わせてる()モダンなスクリプト言語使いが
俺たちRustも書けるっしょwみたいなノリで挑戦して
書けなくて諦めるというのを何度も見てきた
本来プログラミングってのはこの程度は難しいものよ
790デフォルトの名無しさん
2023/12/31(日) 20:41:56.95ID:Asz1BteV Rustを書けず断念するような低レベルの人ならば
他の言語でもまともなプログラムは書けないと思うけどな
他の言語でもまともなプログラムは書けないと思うけどな
791デフォルトの名無しさん
2023/12/31(日) 22:03:37.75ID:682wQwxe バージョンおじさんの次はスクリプトコンプおじさんか
792デフォルトの名無しさん
2023/12/31(日) 22:07:53.39ID:fB+p+szm ライフタイムは関数に渡すときborrowするだけなら何も難しいことはないんだが型に参照を含めていろんな操作をしたり持ち回ったりし始めると複雑度が急上昇する
793デフォルトの名無しさん
2023/12/31(日) 22:22:03.06ID:Asz1BteV そこは同じ
型に含まれてる参照のライフタイムがその型にも付くだけ
型に含まれてる参照のライフタイムがその型にも付くだけ
794デフォルトの名無しさん
2024/01/01(月) 00:50:09.76ID:X6Py91w/ あけましておめでとうございます
ライフタイム面倒なので捨ててstaticにしたいそんな貴方へ魔法の関数プレゼント!
fn to_static_str(input: &str) -> &'static str {
input.to_owned().leak()
}
ライフタイム面倒なので捨ててstaticにしたいそんな貴方へ魔法の関数プレゼント!
fn to_static_str(input: &str) -> &'static str {
input.to_owned().leak()
}
795デフォルトの名無しさん
2024/01/01(月) 19:58:44.82ID:SMFNndU8 the book で勉強中だけど覚えること多いなあ
構文を覚えるだけで70時間はかかりそう
デザインパターンの勉強は必要なさそうだけど
実践投入するには読経も20時間分ぐらい必要だろうな
構文を覚えるだけで70時間はかかりそう
デザインパターンの勉強は必要なさそうだけど
実践投入するには読経も20時間分ぐらい必要だろうな
796デフォルトの名無しさん
2024/01/01(月) 22:17:40.22ID:nmIunYxl 90時間でも約11日稼働ならオンボーディングで
極端に辛いというほどじゃなくね
極端に辛いというほどじゃなくね
797デフォルトの名無しさん
2024/01/01(月) 22:29:17.37ID:pmJAVvpO798デフォルトの名無しさん
2024/01/02(火) 00:14:27.39ID:SHn+5kOU Rustの勉強が大変なら勉強なんかせんでええ
Copilotに書かせてコンパイル通ればOKや!
Copilotに書かせてコンパイル通ればOKや!
799デフォルトの名無しさん
2024/01/02(火) 08:32:02.80ID:xTyEZXhx copilot は予測変換の賢いやつって感じ。
個々の場面では思ったよりも賢くて使い物になるが全体を構成するのに人の思考がいらないほど、全部丸投げ出来るほどではない。
出来る人が楽をするツールであって、できない人が使ってもまともなものは作れない。
個々の場面では思ったよりも賢くて使い物になるが全体を構成するのに人の思考がいらないほど、全部丸投げ出来るほどではない。
出来る人が楽をするツールであって、できない人が使ってもまともなものは作れない。
800デフォルトの名無しさん
2024/01/02(火) 22:18:53.42ID:3cCPTdjI >>792
どっちかというとそういうもち回しによる複雑な操作するなってのがrustの思想だろ
どっちかというとそういうもち回しによる複雑な操作するなってのがrustの思想だろ
801デフォルトの名無しさん
2024/01/03(水) 00:45:56.91ID:cT5UAedN 他の言語の習慣を捨てないとなかなか実践できないと思う
しばらく使ってるとRust特有のプラクティスが見えてくるけど
しばらく使ってるとRust特有のプラクティスが見えてくるけど
802デフォルトの名無しさん
2024/01/03(水) 00:58:25.14ID:WEsHc8Hy 全体を構成する部分が問題になってRustにノータイムで移行できない人間が書くスクリプト言語で書かれたプログラム、読みたくなさすぎる
803デフォルトの名無しさん
2024/01/03(水) 18:10:43.49ID:AJuUFyM+ VSCodeとrust-analyzerでrustを書いている人にちょっとお聞きしたいんだけど、
rustのコード補完で、必ずabc順になっちゃうんだけど
直前に使用したメソッドを優先的に上位に表示させることってできないの?
VSCodeのエディタの設定でrecently usedを設定してもabc順でしか表示さない
InteliJIdeaでは学習した結果、使用頻度の高いものを上位に表示してくれてたのに・・
rustのコード補完で、必ずabc順になっちゃうんだけど
直前に使用したメソッドを優先的に上位に表示させることってできないの?
VSCodeのエディタの設定でrecently usedを設定してもabc順でしか表示さない
InteliJIdeaでは学習した結果、使用頻度の高いものを上位に表示してくれてたのに・・
804デフォルトの名無しさん
2024/01/03(水) 23:00:13.67ID:parSgmbo 質問の仕方が間違っているぞ
そういう時は「補完もまともに出来ないクソ言語」って言えば信者が頑張って探してくれる
そういう時は「補完もまともに出来ないクソ言語」って言えば信者が頑張って探してくれる
805デフォルトの名無しさん
2024/01/04(木) 17:30:55.33ID:mYBU2Jpa InteliJでは出来てたって書いてあるの読めない人なのかな?
こういう人がテストケースとか書いてると思うと怖くてたまらんね
こういう人がテストケースとか書いてると思うと怖くてたまらんね
806デフォルトの名無しさん
2024/01/04(木) 17:56:16.02ID:dLQyUrS8 >>804は頭の弱いRustアンチの人だから無視しとけ
807デフォルトの名無しさん
2024/01/04(木) 18:21:30.81ID:mYBU2Jpa ごめんよ
rustが難しくて理解できない可愛そうな人だったか
rustが難しくて理解できない可愛そうな人だったか
808デフォルトの名無しさん
2024/01/04(木) 19:32:15.16ID:lFo5UMLf 誰も問題解決出来てなくて草
マジで糞言語なのか?
VSCodeでもPythonなら出来るぞこれ
マジで糞言語なのか?
VSCodeでもPythonなら出来るぞこれ
809デフォルトの名無しさん
2024/01/04(木) 20:05:26.49ID:9Tnu7Lk1810デフォルトの名無しさん
2024/01/04(木) 20:44:14.40ID:5w1EWT82 普通にバグ報告すればいいのに
811デフォルトの名無しさん
2024/01/04(木) 20:47:26.53ID:mYBU2Jpa >>808
あらためてVSCode再起動したら普通に直近に選択したメソッドや変数が上位に表示されるようになった
ごめんね ぺこり
ちなPythonは入れ子のループの内側から外側のbreakができないから嫌い
あらためてVSCode再起動したら普通に直近に選択したメソッドや変数が上位に表示されるようになった
ごめんね ぺこり
ちなPythonは入れ子のループの内側から外側のbreakができないから嫌い
812デフォルトの名無しさん
2024/01/04(木) 21:51:07.65ID:dt0a6v34 InteliJ は rust-analyzer 使ってないんじゃなかった?
開発支援機能の基盤が違えば細かい挙動が一致しないのなんて当たり前過ぎて何が言いたいのかわからない。
開発支援機能の基盤が違えば細かい挙動が一致しないのなんて当たり前過ぎて何が言いたいのかわからない。
813デフォルトの名無しさん
2024/01/04(木) 22:28:32.21ID:4GGvVaU9 >>795の読経って何?
814デフォルトの名無しさん
2024/01/05(金) 08:39:06.77ID:wSd1e+VK815デフォルトの名無しさん
2024/01/05(金) 09:40:39.59ID:K2XmLAOd Rustで書かれたLinux互換OS「Maestro」が爆誕
https://softantenna.com/blog/rust-maestro/
https://softantenna.com/blog/rust-maestro/
816デフォルトの名無しさん
2024/01/05(金) 09:43:03.49ID:QSnLODWj >>814
ああ、コードを読むのを読経と言ってるのか。ありがとう。
ああ、コードを読むのを読経と言ってるのか。ありがとう。
817デフォルトの名無しさん
2024/01/05(金) 13:58:06.60ID:p8td/CWz 読経なんかせんでええ
GPTに書かせろ
GPTに書かせろ
818デフォルトの名無しさん
2024/01/05(金) 14:50:07.45ID:5Ddnqo9+ ソースはお経じゃねえぞ
819デフォルトの名無しさん
2024/01/05(金) 16:26:15.51ID:qm5+loRz 写すと写経
読むと読経か
般若心経に波羅蜜多という単語が出て来る
修行の意味だが、修行を行った量という意味でもあり
英単語のparameterと同語源だという
引数か
ヤシの木palmとparameterも同語源って説がある
palmは手の平の意味だが手の指で文字を数えるとも繋がる
これがまた修行の量とか引数って概念に繋がる
またヤシの葉で分厚いパルミラヤシと呼ばれるものは経文を書くのに使われていた
経文を書いた量がまた修行のパラメーターとなった
ナツメヤシのことをdateというが日にちも数えるもの、デートも日にちを重ねて交流を深めるものとされた
ヤシの葉と修行と日にちと引数は常に数えるものとされた
一方で波羅蜜、パラミツというスイカの5倍くらいある果物もある
果実を輪切りにするとアナログ時計のように果肉が並び
時間を象徴するものだから?という話があるが、パラミツと波羅蜜多は特に関係がないという方が多い
インドにRust外注したら動くものは帰ってくるのかどうか
読むと読経か
般若心経に波羅蜜多という単語が出て来る
修行の意味だが、修行を行った量という意味でもあり
英単語のparameterと同語源だという
引数か
ヤシの木palmとparameterも同語源って説がある
palmは手の平の意味だが手の指で文字を数えるとも繋がる
これがまた修行の量とか引数って概念に繋がる
またヤシの葉で分厚いパルミラヤシと呼ばれるものは経文を書くのに使われていた
経文を書いた量がまた修行のパラメーターとなった
ナツメヤシのことをdateというが日にちも数えるもの、デートも日にちを重ねて交流を深めるものとされた
ヤシの葉と修行と日にちと引数は常に数えるものとされた
一方で波羅蜜、パラミツというスイカの5倍くらいある果物もある
果実を輪切りにするとアナログ時計のように果肉が並び
時間を象徴するものだから?という話があるが、パラミツと波羅蜜多は特に関係がないという方が多い
インドにRust外注したら動くものは帰ってくるのかどうか
820デフォルトの名無しさん
2024/01/05(金) 17:09:23.62ID:FktlJzQH parameterのpara-はギリシア語由来の「離れている」では
parallel(平行)のpara-
parallel(平行)のpara-
821デフォルトの名無しさん
2024/01/05(金) 19:03:58.53ID:kJ7MyVdE822デフォルトの名無しさん
2024/01/06(土) 15:29:56.82ID:NPThFXTg 無理にひねくれたこと書かんでよろしい
823デフォルトの名無しさん
2024/01/07(日) 02:08:36.16ID:eqr3i2HS rustちょっと書いたけどなんかハマらんな
つまんない
刺激が少ない
俺は別に言語に安全性なんて求めてないんだ
刺激がほしいんだ
つまんない
刺激が少ない
俺は別に言語に安全性なんて求めてないんだ
刺激がほしいんだ
824デフォルトの名無しさん
2024/01/07(日) 02:15:40.93ID:k7dl9y2N >>823
お前のチームのバグ出しまくる同僚に使わせたら?
お前のチームのバグ出しまくる同僚に使わせたら?
825デフォルトの名無しさん
2024/01/07(日) 02:41:23.33ID:KA2Mqlfb プログラミングそのものに刺激を求めるんじゃない
刺激はプログラミングで実現したいものに求めろ
刺激はプログラミングで実現したいものに求めろ
826デフォルトの名無しさん
2024/01/07(日) 09:36:48.73ID:qkYZiPZe rustはコンパイラにムチを打たれながらコーディングする性癖ドM言語だよ
自身の性癖と合う言語を使ってけ
自身の性癖と合う言語を使ってけ
827デフォルトの名無しさん
2024/01/07(日) 15:48:04.06ID:ujkX2rEF Rustがムチ打つかレビューでムチ打つかの違いでしかないんだよな
誰にも見せないコードなら関係ないけど
誰にも見せないコードなら関係ないけど
828デフォルトの名無しさん
2024/01/07(日) 16:53:56.32ID:FD9BMc1I 男は黙ってSegmentation Fault
829デフォルトの名無しさん
2024/01/07(日) 21:59:04.51ID:k7dl9y2N830デフォルトの名無しさん
2024/01/08(月) 12:20:12.43ID:JTfbpR0w 刺激ってメモリリークでクラッシュとか、ストレージフォーマットとかか?
831デフォルトの名無しさん
2024/01/08(月) 20:41:35.20ID:6GvPzxXI スマートポインタについて勉強中。強い参照、弱い参照という概念が出てきて目が回る
RefCell……所有権の共有が発生する参照……参照???
言葉遊びが過ぎないか。。。
RefCell……所有権の共有が発生する参照……参照???
言葉遊びが過ぎないか。。。
832デフォルトの名無しさん
2024/01/08(月) 21:50:36.68ID:VjyRCTjd 何書いてるかによるけど、出来ればスマートポインタ使わずに書きたい
833デフォルトの名無しさん
2024/01/08(月) 21:56:10.69ID:a9mjVCEv >>831
強い参照、弱い参照はRustやC++だけでなくJavaやC#、PythonやJavaScriptでさえ出てくる一般的な概念だぞ
RefCellは所有権の共有じゃないぞ
スマートポインタや参照という言葉もRustの定義を理解した上で学ぶ必要があるんだけどちゃんとした資料で勉強してるか?
強い参照、弱い参照はRustやC++だけでなくJavaやC#、PythonやJavaScriptでさえ出てくる一般的な概念だぞ
RefCellは所有権の共有じゃないぞ
スマートポインタや参照という言葉もRustの定義を理解した上で学ぶ必要があるんだけどちゃんとした資料で勉強してるか?
834デフォルトの名無しさん
2024/01/08(月) 22:02:17.92ID:6GvPzxXI835デフォルトの名無しさん
2024/01/08(月) 22:04:58.02ID:6GvPzxXI836デフォルトの名無しさん
2024/01/08(月) 22:45:23.91ID:U+1fQP74837デフォルトの名無しさん
2024/01/08(月) 22:56:58.99ID:DdO69zqE >>835
まず前提環境が重要になる
たとえば並行はあるのか?並列はあるのか?両方あるのか?
あるとしても共有が必要なそれらの範囲はどこまでなのか?
それとは別の話で参照の共有と所有権の共有についても前者だけで済むのか後者も必要なのか?
など
まず前提環境が重要になる
たとえば並行はあるのか?並列はあるのか?両方あるのか?
あるとしても共有が必要なそれらの範囲はどこまでなのか?
それとは別の話で参照の共有と所有権の共有についても前者だけで済むのか後者も必要なのか?
など
838デフォルトの名無しさん
2024/01/09(火) 00:03:40.70ID:8DV95bbu839デフォルトの名無しさん
2024/01/09(火) 00:15:41.68ID:nS4EcHpr 配列にどんどん詰め込んでいって
ポインタのかわりにインデックスで管理するという方法も取れなくはない。
Rust で参照の取り扱いが面倒くさくなったときは割とよく使われる。
ポインタのかわりにインデックスで管理するという方法も取れなくはない。
Rust で参照の取り扱いが面倒くさくなったときは割とよく使われる。
840デフォルトの名無しさん
2024/01/09(火) 00:41:55.42ID:p6fXuzFt Rustだから面倒になるのではなく
同じ方針ならばC/C++でも同じようになる
そしてどの言語でも同じく色んな方針を取ることができる
たとえばプログラム終了まであるメモリを解放しない&しなくてよい状況と方針ならば
CだけでなくRustでもそのようにプログラミングすることで簡単になる
同じ方針ならばC/C++でも同じようになる
そしてどの言語でも同じく色んな方針を取ることができる
たとえばプログラム終了まであるメモリを解放しない&しなくてよい状況と方針ならば
CだけでなくRustでもそのようにプログラミングすることで簡単になる
841デフォルトの名無しさん
2024/01/09(火) 00:48:52.81ID:71QF1ibn Array/VecとMapでやる方が普通
てかスマートポインタで胃が重いとか言ってる人にFST実装させようとするのはどうなのか
学生さんの宿題ならいいんだけど
てかスマートポインタで胃が重いとか言ってる人にFST実装させようとするのはどうなのか
学生さんの宿題ならいいんだけど
842デフォルトの名無しさん
2024/01/09(火) 13:46:52.23ID:cAvIdAYQ >>815
windowsこそrustで書き直して欲しい
windowsこそrustで書き直して欲しい
843デフォルトの名無しさん
2024/01/09(火) 14:29:03.17ID:ZeSQ9HCg いやWindowsは消滅してくれ
Windowsのパス区切り文字がバックスラッシュだと面倒くさいんだよ
いつになったら他のOSのようにスラッシュになるんだ
Windowsのパス区切り文字がバックスラッシュだと面倒くさいんだよ
いつになったら他のOSのようにスラッシュになるんだ
844デフォルトの名無しさん
2024/01/09(火) 14:42:13.51ID:W90zSzbf そこでいまどき困るか?
ライブラリで吸収してくれるだろ
ライブラリで吸収してくれるだろ
845デフォルトの名無しさん
2024/01/09(火) 15:03:46.95ID:mDjH0FU9 困るのはそんなポイントではないわな
846デフォルトの名無しさん
2024/01/09(火) 15:51:14.16ID:LmJT0Ko+ UNIX
https://learn.microsoft.com/ja-jp/cpp/c-runtime-library/unix
プログラムを UNIX に移植する場合は、次のガイドラインに従ってください。
・引数としてパスとファイル名を表す文字列を実行するルーチンでは、UNIX と互換性のあるパス区切り記号を使用します。 UNIX は、この目的でスラッシュ (/) のみをサポートしますが、Win32 オペレーティング システムでは、円記号 (\) とスラッシュ (/) の両方をサポートします。
https://learn.microsoft.com/ja-jp/cpp/c-runtime-library/unix
プログラムを UNIX に移植する場合は、次のガイドラインに従ってください。
・引数としてパスとファイル名を表す文字列を実行するルーチンでは、UNIX と互換性のあるパス区切り記号を使用します。 UNIX は、この目的でスラッシュ (/) のみをサポートしますが、Win32 オペレーティング システムでは、円記号 (\) とスラッシュ (/) の両方をサポートします。
847デフォルトの名無しさん
2024/01/09(火) 16:00:24.31ID:OfKvL6VZ WindowsはWSL2のおかげで立ち位置を少し取り戻した感ある
Docker×WSL最強なんだ
Docker×WSL最強なんだ
848デフォルトの名無しさん
2024/01/09(火) 16:26:04.96ID:dEgljR3a Rustを学習していてよくわかんないんだけど、なんで&mut演算子って=の右側に書くの?
演算子を分けて&を右でmutを左にすべきことじゃないのか
演算子を分けて&を右でmutを左にすべきことじゃないのか
849デフォルトの名無しさん
2024/01/09(火) 16:31:10.75ID:T7+wXIHZ >>848
変数がmutなのと参照がmutなのと意味が違うでしょ
変数がmutなのと参照がmutなのと意味が違うでしょ
850デフォルトの名無しさん
2024/01/09(火) 16:38:48.96ID:7APTEGxI 不変なT型 T
不変な不変参照 &T
不変な可変参照 &mut T
可変なT型 mut T
可変な不変参照 mut &T
可変な可変参照 mut &mut T
不変な不変参照 &T
不変な可変参照 &mut T
可変なT型 mut T
可変な不変参照 mut &T
可変な可変参照 mut &mut T
851デフォルトの名無しさん
2024/01/09(火) 16:51:10.28ID:/HMizx3H それ複オジがよく書いてたやつだけど
そうやって書くと型の違いと変数のmutabilityの違いを混同しちゃうから良くないんだよね
そうやって書くと型の違いと変数のmutabilityの違いを混同しちゃうから良くないんだよね
852デフォルトの名無しさん
2024/01/09(火) 16:57:39.62ID:FRUFivso fn main() {
let mut foo = String::from("foo");
let mut bar = String::from("bar");
let a1 = &foo;
// a1の値も参照先(foo)も変更できない
// a1.push('o'); // 不可
// a1 = &bar; // 不可
println!("{a1}"); // foo
let a2 = &mut foo;
// a2の値は変更できないが参照先(foo)は変更できる
a2.push('o');
// a2 = &mut bar; // 不可
println!("{a2}"); // fooo
let mut a3 = &foo;
// a3の値は変更できるが参照先(foo)は変更できない
// a3.push('o'); // 不可
a3 = &bar;
println!("{a3}"); // bar
let mut a4 = &mut foo;
// a4の値も参照先(foo)も変更できる
a4.push('o');
a4 = &mut bar;
println!("{foo} {a4}"); // foooo bar
}
let mut foo = String::from("foo");
let mut bar = String::from("bar");
let a1 = &foo;
// a1の値も参照先(foo)も変更できない
// a1.push('o'); // 不可
// a1 = &bar; // 不可
println!("{a1}"); // foo
let a2 = &mut foo;
// a2の値は変更できないが参照先(foo)は変更できる
a2.push('o');
// a2 = &mut bar; // 不可
println!("{a2}"); // fooo
let mut a3 = &foo;
// a3の値は変更できるが参照先(foo)は変更できない
// a3.push('o'); // 不可
a3 = &bar;
println!("{a3}"); // bar
let mut a4 = &mut foo;
// a4の値も参照先(foo)も変更できる
a4.push('o');
a4 = &mut bar;
println!("{foo} {a4}"); // foooo bar
}
853デフォルトの名無しさん
2024/01/09(火) 17:54:54.96ID:yDV9ZPsZ >>815
先にfirefox互換のブラウザをRustで作れよ
先にfirefox互換のブラウザをRustで作れよ
854デフォルトの名無しさん
2024/01/09(火) 20:29:20.32ID:OfKvL6VZ855デフォルトの名無しさん
2024/01/09(火) 21:43:46.90ID:ba97u6j0 JythonみたいにRinuxとか呼ばれる様になるんかね
856デフォルトの名無しさん
2024/01/09(火) 23:30:54.91ID:kFOi0b9p >>847
わかる
わかる
857デフォルトの名無しさん
2024/01/09(火) 23:33:35.76ID:kFOi0b9p858デフォルトの名無しさん
2024/01/09(火) 23:44:10.92ID:VWF/HjAU >>857
なんでmut& Tやmut& mut Tのほうがいいと思うの?
なんでmut& Tやmut& mut Tのほうがいいと思うの?
859デフォルトの名無しさん
2024/01/10(水) 00:26:25.61ID:50jzIioV 変数は不変 参照先も不変
【Rust】 let ptr: &i32 = ...
【C/C++】 const int* const ptr = ...
変数は可変 参照先は不変
【Rust】 let mut ptr: &i32 = ...
【C/C++】 const int* ptr = ...
変数は不変 参照先は可変
【Rust】 let ptr: &mut i32 = ...
【C/C++】 int* const ptr = ...
変数は可変 参照先も可変
【Rust】 let mut ptr: &mut i32 = ...
【C/C++】 int* ptr = ...
【Rust】 let ptr: &i32 = ...
【C/C++】 const int* const ptr = ...
変数は可変 参照先は不変
【Rust】 let mut ptr: &i32 = ...
【C/C++】 const int* ptr = ...
変数は不変 参照先は可変
【Rust】 let ptr: &mut i32 = ...
【C/C++】 int* const ptr = ...
変数は可変 参照先も可変
【Rust】 let mut ptr: &mut i32 = ...
【C/C++】 int* ptr = ...
860デフォルトの名無しさん
2024/01/15(月) 07:32:23.77ID:GWa8/EJ0 プログラミングをしていて最も出現頻度が高いのがその4つのうちこのパターンだな
>変数は不変 参照先も不変
>【Rust】 let ptr: &i32 = ...
>【C/C++】 const int* const ptr = ...
したがって可変部分のみmutを付加するRust方式が理に適っている
>変数は不変 参照先も不変
>【Rust】 let ptr: &i32 = ...
>【C/C++】 const int* const ptr = ...
したがって可変部分のみmutを付加するRust方式が理に適っている
861デフォルトの名無しさん
2024/01/15(月) 09:26:21.36ID:87NFfbL3 C/C++のconstとRustのletを対比するなよ
コンパイル時の定数と変数は違うから
コンパイル時の定数と変数は違うから
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 [ぐれ★]
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… ★2 [BFU★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★2 [BFU★]
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… ★3 [BFU★]
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 [Hitzeschleier★]
- 政府、株式の配当など金融所得を高齢者の医療保険料や窓口負担に反映する方針を固めた [バイト歴50年★]
- 中国高官と話す外務省局長の表情、やばい ★2 [175344491]
- 【ネトウヨ終了】大人気ユーチューバー「高市早苗のことをまともだと思うやつは私のコンテンツにさわらないでください」 [339712612]
- 中国外務省「日中関係の悪化は高市早苗首相が原因」と名指しで強く非難。キタ━(゚∀゚)━! [153490809]
- 外務局長「中国さんごめんなさぁ...」小野田「中国なんかどうでもいいっ!」高市「首脳会談したい」マスコミ「立憲が悪いっ!!」 [237216734]
- 小野田経済安保相「すぐに経済的威圧するところへの依存はリスク」😲 [861717324]
- アジフライ←不味くね?
