Rust part27

レス数が950を超えています。1000を超えると書き込みができなくなります。
1デフォルトの名無しさん
垢版 |
2024/12/02(月) 22:32:50.31ID:D+1pIyvG
公式
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 part26
https://mevius.5ch.net/test/read.cgi/tech/1726838318/

ワッチョイスレ
プログラミング言語 Rust 4【ワッチョイ】
https://mevius.5ch.net/test/read.cgi/tech/1514107621/
2025/03/22(土) 18:39:47.45ID:+4wHRnDV
ラムダならGC走る前に終われるんでしょ
862デフォルトの名無しさん
垢版 |
2025/03/22(土) 18:54:40.05ID:aLOoKjU5
Web系のサービス分野でRustが注目を浴びてるとは思いづらい
今のところ期待されてるのはCLIツールやシステムプログラミング、組込みなどじゃないの?
Rustの採用例 (Discordなど) はあるけど、有名どころのサービスを列挙していけば他の言語の方がずっと多いと思う

Web系だとRustのGoのようなコンパイル言語を選ぶ企業がいる一方で、「バックエンドにTypeScriptを使う」も妥当な選択肢の一つとして見られたりするくらいだし
(これはフロント側との知識の共有しやすさが理由)
2025/03/22(土) 19:09:06.13ID:+4wHRnDV
Goより茨の道だからやめたほうがいいね。メンバーがついてこれんし。
ライブラリが未整備だろうから自前実装も居るだろう
面倒。Rustのコミッタを集めてOSSにプルリク出していくことが広報になるとか割り切って尖ってくのを経営がOKすればいいが
2025/03/22(土) 19:09:54.71ID:+4wHRnDV
estieあたりはそうなのかな
865デフォルトの名無しさん
垢版 |
2025/03/22(土) 19:09:58.69ID:+aAOpttf
スタートエンドに使うのもあり
866デフォルトの名無しさん
垢版 |
2025/03/22(土) 19:10:54.90ID:+aAOpttf
Rust使うならC++使うわ
2025/03/22(土) 19:15:35.11ID:SJ3E9yt4
ライブラリは未整備ではないが、カジュアルにAPIを変えちゃう傾向がある
あと、chronoみたいな基本的なライブラリが使いづらい
2025/03/22(土) 19:17:42.77ID:wj/QNrNA
>>862
Rustの利用調査でWebバックエンドが利用の最大多数派であったように
Rustといえば主要な使われ方はWebバックエンドだよ
そもそもRustの基幹の一つであるtokioはそのために作られた
goroutineより性能も良い

>>866
C++は絶対にない
tokioやgoroutineに匹敵する非同期インフラすらC++では弱くて無い
2025/03/22(土) 19:27:58.28ID:+4wHRnDV
型安全警察で~す
2025/03/22(土) 19:44:27.97ID:GMYQzWfO
ユーザーは無料で遊べちまうのに業者は課金されるのか
2025/03/22(土) 20:06:41.33ID:LDE6EGsp
>>860
別に注目されてないだろw
872デフォルトの名無しさん
垢版 |
2025/03/22(土) 20:46:20.66ID:+aAOpttf
RustはHaskellのようなもんだな
2025/03/22(土) 20:51:35.38ID:pQ0AfiNn
サーバー系は、どう議論しようがAWSらがRustを使うと決めてるんだから俺たちもRustを使うべきなんだよね
2025/03/22(土) 20:54:15.56ID:wj/QNrNA
RustがIT企業の支持を得られて普及した要因の最大の理由は非同期タスクでCPUマルチコアスレッドを最大限に生かせることが実証されたため
もちろんそのメリットを生かせる最大の分野がWeb
その結果としてWebインフラが次々とRust製になっていってるのもご存知の通り
2025/03/22(土) 20:58:48.70ID:Hzxc05GG
>>873
内部で使われてるって話とごっちゃになってないか?
2025/03/22(土) 21:37:06.41ID:nNEN9uWE
内部で使ってれば外部 (SDK) の充実だって期待できるだろ。
他もサポートするとはいっても内部で第一に使っている言語が最も切られにくいはず。
2025/03/22(土) 21:47:08.55ID:wj/QNrNA
もちろんそれもあるがアマゾンAWSはエネルギー効率の高さを示してRustの使用が良いと主張している
エコのため、クラウド提供側にとっては電気消費量のため、クラウド利用側にとっては利用料金のため、誰にとってもRustが良い
2025/03/22(土) 21:49:55.80ID:0jsJ/YT+
状況に応じて道具を選べないやつなんて所詮この程度だからな
相手にするだけ時間の無駄だよ
879デフォルトの名無しさん
垢版 |
2025/03/22(土) 21:56:00.76ID:aLOoKjU5
企業としてはユーザーが最も多い言語のSDKに一番力を入れるんじゃない?
2025/03/22(土) 21:56:48.74ID:+4wHRnDV
じゃあRustか
2025/03/22(土) 22:00:34.26ID:P6hXjgwK
クラウドに限らずどんな分野のとんな用途でも
環境などで言語制限のある分野でなければ
Rustが一番よいだろうね
2025/03/22(土) 22:02:15.86ID:GMYQzWfO
雑な推理だな
お金の話をすれば雑でも許してもらえる法則でもあるのかな
2025/03/22(土) 22:04:35.46ID:+4wHRnDV
工数と開発者のスキルが必要なのが難点でしょ
スタートアップはとりあえずlaravelで雑でも動かしたい
2025/03/22(土) 22:08:44.37ID:nNEN9uWE
プログラマにかかるコストも大きいのでそれとのトレードオフではある。
2025/03/22(土) 22:08:56.75ID:wj/QNrNA
スキルがないとかその分野に標準の言語があるとかの制約がなければRust
制約がないのに他の言語を選ぶメリットがない
2025/03/22(土) 22:17:50.69ID:GMYQzWfO
なんで許されてるのか分からない人物を思い浮かべてください

もしかして、お金の話をしてるからじゃないか?
887デフォルトの名無しさん
垢版 |
2025/03/22(土) 22:49:39.83ID:g5MG8noC
Goのほうが良い
888デフォルトの名無しさん
垢版 |
2025/03/22(土) 22:49:40.67ID:g5MG8noC
Goのほうが良い
2025/03/22(土) 23:13:07.51ID:2RmOfPx/
なんかpythonの話ししてる時に呼んでもないのに出てくるRubyの人みたい
2025/03/22(土) 23:30:44.29ID:P6hXjgwK
Goは適用範囲が狭すぎてね
そしてその分野もRustが代わりになれるから
2025/03/22(土) 23:39:54.79ID:SJ3E9yt4
シングルバイナリで配布するなら、今でもGoの方が有利だろ
2025/03/22(土) 23:51:36.52ID:FupbzmQ3
>>855
CやRustが必ず速く、GC言語が必ず遅いです。
そのケースでは、CもRustもメモリ解放する必要ありませんから。
GC言語がCやRustに勝てる可能性はありません。
2025/03/22(土) 23:59:13.86ID:P6hXjgwK
スタック領域を最も活用できるRustが一番有利だろうね
もちろんヒープ領域は返さない手がある
2025/03/23(日) 00:19:54.96ID:Ft35v0Bz
プログラマが充分に賢いと仮定できるときとそうでないときがある。
2025/03/23(日) 02:37:14.92ID:FBKpXUl6
esbuildとswcを比べるといい
swcは少なくともesbuildの3〜5倍の開発工数がかかってる
にもかかわらず性能でも人気でも後発のesbuildに実質負けている
896デフォルトの名無しさん
垢版 |
2025/03/23(日) 04:01:40.19ID:fJAmg8F4
>>889
あれなんだろうな
2025/03/23(日) 08:06:03.43ID:E0tNSJV1
>>889
KENYA が Eust 使ってる姿が想像できないなω
2025/03/23(日) 11:30:47.99ID:7BeeA992
>>895
これが現実だよな
規模の大きい用途でもなければ性能差以外のところに価値を見出さないとRustは選択肢にならない
2025/03/23(日) 11:46:34.65ID:ucJr9566
>>898
バカ発見
それは言語の比較ではなく作者の比較
900デフォルトの名無しさん
垢版 |
2025/03/23(日) 12:05:46.10ID:dLW1UlJo
それを言い始めたら、現実のプロジェクトであまり使われないのを無視して「Haskellは生産的」と主張し続けてる人と同じじゃないの
2025/03/23(日) 12:16:32.87ID:hhiHggcP
何の制約もない理想的な世界ではRustが一番みたいな主張をするのは宗教だからね

現実を説いても無駄だよ
2025/03/23(日) 12:29:31.57ID:ucJr9566
ハスケルがどこで使われてるかは知らないが
Rustはネットインフラなど各所で使われてるからな
2025/03/23(日) 13:45:50.39ID:ILZgSc5B
PrismaなんてRustからTypescriptに乗り換えてるからなぁ
2025/03/23(日) 14:04:29.94ID:kax3x6iq
まあ現実というか現時点でHaskellは実在しているので
自分は現実を説いていると思ってる人はじつは将来のHaskellについて説いているんだろう
2025/03/23(日) 14:14:35.83ID:i3JV7Cin
>>903
PrismはJavaScript/TypeScriptでのSQLのORMだよ
コアをRustで書いていたけどTypeScriptとの間でのデータのシリアル変換がオーバーヘッドなのでやめた
RustでなくC/C++でもGoでも何でも同じ話
2025/03/23(日) 14:19:18.42ID:Ft35v0Bz
Haskell や ML 系は金融系で人気があるみたいな話だね。
そういう人は数理最適化とかの専門家で、アカデミック寄りの出自だったりするから言語もそういう系統になる。
2025/03/23(日) 14:23:11.51ID:MPpv/Zn0
>>899
そうそう優秀な作者だからこそヘルスバーグやエヴァン・ウォレスはRustでも作ってみて自分の目で比較した上で敢えてGoを選んでるんだよな
2025/03/23(日) 14:29:01.82ID:i3JV7Cin
逆にオーバーヘッドよりも効果が上回るものも多い
そういうものはJS/TSのライブラリがRustやC/C++で書かれている
これはPythonのライブラリでも同じ
Goでそれらのライブラリを書かれることはない
2025/03/23(日) 14:41:46.62ID:aJUotRkD
>>907
頭悪そうな君には理解できなかったのかね
TypeScriptの型チェック&コンパイラの件は
①C#などのクラス依存言語はクラスベースで書かざるを得ないため元のTypeScriptコードとの相違が大きくなり今後もコードを合わせ保守していかなければならない特殊事情のため選べなかった
②RustやC++などはGC依存言語でないため元のTypeScriptコードとの相違が大きくなり今後もコードを合わせ保守していかなければならない特殊事情のため選べなかった

理解できない人は自分の言語にスレに戻りなさい
あるいはRustアンチスレへ行きなさい
ここはRustのためのスレです
2025/03/23(日) 14:45:12.04ID:NxWV5kSB
工数が3倍以上かかっても数%の性能向上でペイできる分野ならいいんだけどね
大手クラウドベンダーのインフラ開発がまさにそれ
ペイできるどころかお釣りがじゃんじゃん来る

逆にそういう分野に該当しないtscgoとesbuildでは
費用対効果を考えてRustは選ばれなかったということ
911デフォルトの名無しさん
垢版 |
2025/03/23(日) 14:47:02.77ID:RxW/LXmg
typescriptのコンパイラやツールをgoにとられたのはかなり痛いね
仮にもpythonやjsと並ぶ覇権言語の実装に選ばれなかった
これは重みがある事象になる
2025/03/23(日) 14:48:42.88ID:kKBddGNP
PrismaのTS移行はパフォーマンスが主因ではないぞ
TSとRust双方のスキルが必要でコミュニティのコントリビュートが得られないからとはっきり書かれてる
https://www.prisma.io/blog/from-rust-to-typescript-a-new-chapter-for-prisma-orm
2025/03/23(日) 14:51:45.32ID:aJUotRkD
>>911
TypeScriptだけの自業自得の特殊事情を理解できない人はこのスレから出てけよ
ここはRustのためのスレ
2025/03/23(日) 14:54:10.83ID:aJUotRkD
>>912
他の言語コミュニティの問題ならRustは関係ないだろ
なぜそこまでしてこのRustスレを荒らすんだ?
915デフォルトの名無しさん
垢版 |
2025/03/23(日) 14:54:48.47ID:AhwOgDDy
Rustを選んだらクビになるだろ
趣味ならRustで十分だよ
916デフォルトの名無しさん
垢版 |
2025/03/23(日) 15:04:08.69ID:dLW1UlJo
>>908
Pythonについては「Goが選ばれない」というよりも、そもそもC/C++/Rustしか選択肢がない
他の言語でPythonのライブラリ(拡張モジュール) を作る場合、Pythonが提供しているC APIを呼ぶ必要がある (※)
だからCと連携しづらい言語は使えないし、Python側とは別のランタイム (Python側とは別に動くガベージコレクタ) を持つ言語も向いてない

まだC/C++製のものが多いけど、最近はRust製のものも出てきてて、この分野はRustがかなり有望だと思う
JS/TSは自分は詳しくないので知らない

(※)
C++/Rustの場合、実際にはPython C APIをラップするライブラリを使って開発するから、開発者が直接これを呼ぶわけではない
RustだとPyO3というクレートが有名
自分は実際にこれ使ってるけど、なかなか良い感じ
2025/03/23(日) 15:16:21.64ID:gOdPz2Go
なぜかRustスレでRustを叩くために
他の言語の仕様の問題とか
他の言語のコミュニティの問題とか
そんなRustと関係ない事情の件ばかりを持ち出すのは感心しないね
そういう他言語の問題がなければRustが好ましいという左証になってるとも言えるけど
2025/03/23(日) 15:21:41.23ID:2OqM692P
>>909
esbuildには@もAも当てはまらない

グリーンフィールドかブラウンフィールドかに関わらず
類似処理をしているesbuildとtscgoが同じ結論に達した事実を見れば
tscの特殊事情が主たる理由ではないことは明らか
2025/03/23(日) 15:34:46.69ID:gOdPz2Go
敗北して閑散としているGoのスレッドでやればいいんじゃないかな
Rustへの逆恨みは感心しないね
2025/03/23(日) 15:39:28.23ID:SFcoHXsN
Goが単にコンパイラに使われただけなのになにを騒ぐことがあるのか
Rustの優位性はなにも変わってない
2025/03/23(日) 15:46:59.12ID:5hw8+0Sa
Arena<T>やRc<RefCell<T>>を駆使しつつ自分でライフライム管理もやらなきゃ同等の性能は出ないんだから数倍コストがかかるのは当たり前
しかもコストかけたところで大して速くなる用途ではないからな
2025/03/23(日) 16:42:13.02ID:nyXcLsMC
>>921
arena allocation使うのはC++でも同じだよな
RcはC++にないからArc相当のshared_ptrになってしまうが
いずれも大した問題ではなく何を問題視してるのだろう
Rustなら必要なところで用いなければエラーにになるから必ず安全
2025/03/23(日) 16:58:09.93ID:/v/6A0mi
あんまりRustを馬鹿にすると人類滅亡だぞ
2025/03/23(日) 16:58:54.84ID:Js5gC5BL
なんかRustの評価と自尊心が結びついてるやつが居るな
2025/03/23(日) 17:14:32.48ID:kax3x6iq
C++時代には、RAIIやtemplateの知識を不問とする "better C" があった
"better C" からRustに移行するのは容易ではない
926デフォルトの名無しさん
垢版 |
2025/03/23(日) 18:32:51.17ID:BVPP8nhy
SES業界ってなんですの?
やばそうなんですの?
927デフォルトの名無しさん
垢版 |
2025/03/23(日) 18:36:40.02ID:BVPP8nhy
Chromeとfirefoxを比べるといい
firefoxは少なくともChromeの3〜5倍のRustコードが使われてる
にもかかわらず性能でも人気でも後発のChromeに実質負けている
2025/03/23(日) 19:15:20.36ID:nyXcLsMC
Firefoxは根幹がC++のまま進まないからな
ChromeのRustコード量が増えていき逆転するのは間違いない
2025/03/23(日) 20:13:06.33ID:3HZSVJR9
ブラウザ見てもわかるけど金を掛けられる余力がある企業や団体が開発資金を出さないと置き換えは進まない
Rustプログラマは特に集めるのは大変
掃いて捨てるぐらいいたらコストは下がるので開発も進む
2025/03/23(日) 20:15:58.85ID:MwG5166E
>>922
GC言語と比べて高コストという話なのにC++出してきても意味ないじゃん
2025/03/23(日) 20:26:09.56ID:uAz+aBh3
遅くてメモリ喰いのGC言語はC/C++/Rustに絶対勝てない
そんなにGC言語が好きならGC言語のスレに引きこもっていなさい
Rustを脅威に感じているからこそわざわざここへ来て暴れてるのだろうけど醜い姿
2025/03/23(日) 20:31:47.48ID:zNJHBv3d
環境要因だけど、単価と工数でGC言語が勝ってるってさ
2025/03/23(日) 20:35:34.98ID:uAz+aBh3
>>932
単価?
GC言語だけやってる連中はバカだから給料が安いということか?
934デフォルトの名無しさん
垢版 |
2025/03/23(日) 21:25:09.29ID:dLW1UlJo
実際そう
Goはジュニアクラスのエンジニアとシニアクラスのエンジニアとで書き方が変わらないのが特徴で、Googleのような大きな組織での開発効率のために産まれた言語
良し悪しとかでなく、そもそもの言語の目的の違い

パフォーマンスが重要な仕事にはRustが向くけど
、それなりの速度があれば十分という分野ならRustを使う意味はあんまり無い
IOが中心になる分野なら、Rustは多少は速くても「劇的な違い」にはならないと思う
非同期処理を書くのが難しくないとか、社内に知見があるとかの方が重要という場面も多い

もちろんRustが向く分野も多いので、そちらではRustを使えばよい
言語は目的や求められる要求に応じて選ぶという、ごく普通の話
2025/03/23(日) 21:33:57.65ID:3HZSVJR9
速度だけが重要ならjavaなんてなんて生まれていないしここまで大きな産業にもなってない
みんなc++を使えばよかった

実際はそうならなかった
2025/03/23(日) 21:39:18.46ID:kIF/RZ8r
>>931
なんの勝ち負けの話してんだよww
2025/03/23(日) 21:49:34.80ID:QyKgsP1k
C++は平屋のCに何階も増築してきたから基盤はCのままで古い言語だからね
C++11でようやくunique_ptrとshared_ptrのスタートライン

一方でRustは現在の他のモダン言語と同等かそれ以上で何もかも快適
そして開発効率も抜群に良い
静的に最もバグを回避できる優れたプログラミング言語となっている
(もちろん原理的に回避不可能なアプリのロジックバグは除く)
938デフォルトの名無しさん
垢版 |
2025/03/23(日) 21:52:06.36ID:n3c9z4n8
Rustの過剰な持ち上げは普通のRust開発者にとっても迷惑だからな
そういう輩のせいで「Rustは信者が煩い」みたいな意見を見るし、それに辟易する
向き不向きや求められる要求、組織の知見などを考慮して技術選定するという、開発者なら持つべき感覚を否定し続けてるのが理解できない

特定の言語だけを持ち上げる信者はGoやC#やTSにもいるし、そういうのは同様にうざったい
2025/03/23(日) 21:55:17.62ID:zNJHBv3d
2000年頃、サーバーの仕事なら、新人にはCのメモリ管理が無理だからってJavaでキャリアスタートしたよ。
その頃のオンプレはメモリ数GBだけどJavaが何とか動かせたんだ
そこからGC言語優位が続いたけど、サーバーレスやらで効率重視時代が戻ってきたんだね
2025/03/23(日) 21:59:15.01ID:QyKgsP1k
>>938
事実のみで過剰な持ち上げはないのに何を発狂してるのかね
もちろん別の言語の話を何度もしていたらウザいからやめるべきだと思うがここはRust
2025/03/23(日) 22:07:56.77ID:QyKgsP1k
>>939
効率重視とともにエコ面が重視されてるね
そのまま電気消費量そしてランニングコスト
もちろんCPU&メモリリソース使用量を減らせばサーバーなど台数が減らせる面もエコと料金につながる
慣れたらどのプログラミング言語も大して変わらないのだからそれなら全てを少なくできるRustが向いてる
942デフォルトの名無しさん
垢版 |
2025/03/23(日) 22:12:37.78ID:arw2Fenr
Rustは独自性が無い
C+の知見を移植してるだけ
2025/03/23(日) 22:20:47.30ID:SlUznAQO
いつもの某オジサン(嘘つき/実務経験無し)がesbuildで完全論破されて発狂してるだけ
Rustスレの平常運転だから気にしない気にしない
2025/03/23(日) 22:23:33.24ID:MXOUkEf2
>>942
C++では出来ていないこと(や、C++に後から入ってC++で普及していないこと)が、Rustには大量にあることが特徴。
むしろ他のモダン言語をやっていれば理解しやすいことも多い。
ただし、Rustが色んな言語の良い最先端な部分を採り入れてるため、少しだけ学習曲線が急な面はある。
それでもすぐ学習して理解できるから、それら機能の効果と利便性のため皆が満たされている。
945デフォルトの名無しさん
垢版 |
2025/03/23(日) 22:28:21.95ID:arw2Fenr
>>944
無いよ
2025/03/23(日) 22:30:17.46ID:MXOUkEf2
>>945
無いとは何のこと?
2025/03/23(日) 22:36:44.14ID:kax3x6iq
学習曲線のグラフに原点がないんだろうなあ
0とは一体何がどう0なのだ
948デフォルトの名無しさん
垢版 |
2025/03/23(日) 22:40:46.98ID:dLW1UlJo
スマートポインタやRAIIはC++由来だし、代数的データ型やパターンマッチは他の言語にもあるけど、所有権やライフタイムはRust独自
これはかなり強力な仕組みで、安全性という点ではとても成功してると思う
(同時に難しさの要因でもある)

書いておいて何だけど、言語の独自性はそこまで重要でもないと思う
TypeScriptなんかがそうだけど、仕組み自体は既にあるものでもバランスが良ければ十分に価値がある
2025/03/23(日) 22:45:57.15ID:QyKgsP1k
C/C++が一番ダメな点は大量の様々な未定義動作
2025/03/24(月) 00:19:28.90ID:ELaBM+IJ
CのenumとRustのenumで全く似ても似つかないのとか何とかしてほしいわ
C出身のノリで使うと実装量多くてビックリするわ。たかが整数型定数とかいうのと全く違うもんなあ
ほかにも学習で大変なところ数多あるけど、コンパイルエラーを全部潰したらあとはアプリケーションロジックだけの問題になるのはRustならではで快便感ある。Cはコンパイル通ってからが鬼門だからな
951デフォルトの名無しさん
垢版 |
2025/03/24(月) 00:51:58.09ID:9O8f24u0
なんでenumって名前にしたんだろうな
adtとかdataとかtypeとかにしたら良かったのにと思わなくもない
2025/03/24(月) 01:05:28.53ID:ELaBM+IJ
>>951
実際の使われ方からするとOption型、Choice型だよね。それだとネーミング的に予約語と競合してダメだけどマシな名前は考える余地あったよなあ
基本的に「よその言語から似た単語借りてくる」風習はどの言語にもフレームワークにもあるし慣れるしかないけどね
2025/03/24(月) 02:41:57.49ID:u90IfC4I
plain enumとADT enumがあるだけでenumはenum
ADT enumをenumの名前で使えるのはRustに限った話ではない
954デフォルトの名無しさん
垢版 |
2025/03/24(月) 03:34:48.42ID:rrmbjdIs
HaskellもRustと同じくらい使われてると言われていたが
つまりすべての製品に使われてるようなことを言っていた
955デフォルトの名無しさん
垢版 |
2025/03/24(月) 03:36:56.31ID:rrmbjdIs
結局、駄目なものはどれだけ宣伝しても流行らないのでは?
2025/03/24(月) 07:38:50.09ID:Tm5RncoX
そんなに言われてなかったよ。
それは誤解か、誤解した人が大げさに吹聴してるな
2025/03/24(月) 08:13:34.82ID:a0wY9RFf
>>950
たぶんプログラミング言語一般的な型付けシステムに慣れてないんだと思う
enumはその名の通り列挙型だよ
それを整数型定数と誤認してるのが不思議
定数はその名の通りconstで当然何の型の定数なのかi64とかf64とかOptionなど型名を指定する必要があるよ
enumは列挙型だから名付けてenum Fooなどの別の型になる
内部的には整数で識別されるからその整数値を指定することもできるけどその整数の取れる値の範囲は列挙した分に限られるから別の型
制限はあるけど明示的にcastすれば整数型(i32とかusizeとか)へ変換できるよ

>>952
enumは列挙型だからSome(T)とNoneの2つを列挙できるenum Option<T>型も作れるだけの話だよ
ここでTは任意の型を指定できてジェネリック
もちろんトレイト境界を指定することもできて例えばCowの定義はこうなってるよ
enum Cow<'a, B>
where
  B: 'a + ToOwned + ?Sized,
{
  Borrowed(&'a B),
  Owned(<B as ToOwned>::Owned),
}
958デフォルトの名無しさん
垢版 |
2025/03/24(月) 08:14:23.64ID:CX9jwcEn
Haskellを宣伝してた人がRustを宣伝してる
959デフォルトの名無しさん
垢版 |
2025/03/24(月) 08:15:54.54ID:CX9jwcEn
>>957
Trait制約では?
2025/03/24(月) 08:16:12.40ID:YUJc8XWR
言語なんて一長一短あるんだから万能な言語なんてないんだよね
たまにそのへんのことがわからない人が宗教戦争始めんだよ
レス数が950を超えています。1000を超えると書き込みができなくなります。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況