1 名前:デフォルトの名無しさん mailto:sage [2022/06/27(月) 08:17:03.45 ID:gDlfKP6u.net] 公式 https://www.rust-lang.org/ https://blog.rust-lang.org/ https://github.com/rust-lang/rust Web上の実行環境 https://play.rust-lang.org 日本語の情報 https://rust-jp.rs/ ※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 part15 https://mevius.5ch.net/test/read.cgi/tech/1652347700/
513 名前:デフォルトの名無しさん mailto:sage [2022/07/27(水) 10:27:27.45 ID:IW7fj0uw.net] >>505 名前変えた後継含めて公式に死んでる
514 名前:デフォルトの名無しさん mailto:sage [2022/07/27(水) 19:19:33.01 ID:U29fl458.net] >>505 世界に殺された もし生まれたら恐ろしいことになってただろうしな
515 名前:デフォルトの名無しさん mailto:sage [2022/07/28(木) 00:38:58 ID:z/Vvst4i.net] アレはAptosとして生き残った 大型の資金調達を連発して次の投機の標的になってる
516 名前:デフォルトの名無しさん mailto:sage [2022/07/30(土) 22:19:27.63 ID:wZaxY20D.net] std::io::Result<()> ↑の()ってなんすか? Ok(()); ↑の()も。 「空」を意味してるってことでいいんですか?
517 名前:デフォルトの名無しさん mailto:sage [2022/07/30(土) 22:34:27.43 ID:PnFWbFUc.net] 5つの何かを返す関数なら return (a, b, c, d, e); 0つの何かを返す関数なら return (); と考えてもよく何も返さないこと
518 名前:デフォルトの名無しさん mailto:sage [2022/07/30(土) 22:39:27.64 ID:xUdiS2xM.net] https://doc.rust-lang.org/std/primitive.unit.html
519 名前:デフォルトの名無しさん mailto:sage [2022/07/30(土) 22:41:59.23 ID:wZaxY20D.net] >>512 >>513 どうもありがとう
520 名前:デフォルトの名無しさん mailto:sage [2022/08/01(月) 16:04:37.53 ID:ElZDPbmW.net] Meta社のバックエンドにRust推奨だってよ。 https://www.publickey1.jp/blog/22/metafacebookrustpythonchack.html
521 名前:デフォルトの名無しさん mailto:sage [2022/08/02(火) 02:20:06.29 ID:M8Mca9lV.net] bevy 0.8 https://bevyengine.org/news/bevy-0-8/
522 名前:デフォルトの名無しさん [2022/08/02(火) 23:33:57 ID:FkNkpg49.net] bevyとFyrox Engineはどちらの方が良いのかな 人気度はbevyな気がするが
523 名前:デフォルトの名無しさん mailto:sage [2022/08/04(木) 02:28:39.18 ID:xaY+36ag.net] Rustでプラグインシステム組むならwasiが安牌かな
524 名前:デフォルトの名無しさん mailto:sage [2022/08/04(木) 09:59:47.35 ID:CkQzFtco.net] プラグインシステムとは
525 名前:デフォルトの名無しさん mailto:sage [2022/08/04(木) 12:38:32.91 ID:pLEfRi/j.net] エディタとかツールの機能拡張だよ。 RubyとかJVMとかある程度の動的さを持つランタイムがあると開発楽だけど、GoやRustみたいにスタティックリンク、シングルバイナリが基本になると たしかにwasmベースで作るのが筋が良いのかねぇ。
526 名前:デフォルトの名無しさん mailto:sage [2022/08/04(木) 12:57:45 ID:qyv7p4eK.net] おいおいww
527 名前:デフォルトの名無しさん mailto:sage [2022/08/04(木) 13:50:49.10 ID:ck4xiQdl.net] クロスプラットフォームで同一バイナリが動いてそこそこ高速で組み込み用途に向いてる という条件だとLuaかwasm
528 名前:デフォルトの名無しさん mailto:sage [2022/08/04(木) 13:51:05.48 ID:ck4xiQdl.net] JSでも良いが
529 名前:デフォルトの名無しさん mailto:sage [2022/08/04(木) 15:10:31.96 ID:b+TNnTjV.net] プラグインというよりマクロの実行環境の話だな Luaやwasmはホストアプリにランタイムを同梱する必要がある
530 名前:デフォルトの名無しさん mailto:sage [2022/08/04(木) 15:23:41.09 ID:1k9fnhsy.net] Luaやwasmを使うようなスクリプト型(スクリプト言語のことではなくて、上位レイヤのシナリオだけをユーザーに書かせる方式)の拡張って、 よほどホスト側にプラットフォームとしての魅力がない限りは成立しないよ ホストがスクリプトに対して提供している機能以上のことはできないわけだからな そうじゃなくて、やりたいのはホストにない機能を追加できるプラグイン機構じゃないの?
531 名前:デフォルトの名無しさん mailto:sage [2022/08/04(木) 15:39:46.71 ID:9TNfUmNd.net] >>520 Rustでやりたいってことは実行速度を重視してるんだろうし動的リンクしかないだろ しかしwasmにしてもいいっていうならJavaScriptやらLuaの活用も検討しろ
532 名前:はちみつ餃子 mailto:sage [2022/08/04(木) 15:55:10.42 ID:hPtMGH66.net] そういえば Rust の proc macro を wasm としてコンパイルしたらどないやという話はあったんじゃなかったっけ? 最終的にどういう結論になったのか追ってないんやが……。 必要な機能は Rust コンパイラの中に全部あってシステムの外とやり取りする必要もないから良い案に思える。
533 名前:デフォルトの名無しさん mailto:sage [2022/08/04(木) 17:17:23 ID:KbhCPu0a.net] >>525 Luaやwasmからホストの用意した機能を呼び出す形だけでなく ホストからLuaやwasm側の処理を呼び出す形も実装可能だよ DLLに比べると相当手間がかかるけど
534 名前:デフォルトの名無しさん mailto:sage [2022/08/04(木) 17:19:43 ID:ck4xiQdl.net] 動的リンクするにしてもABIがunstableだからインターフェースはextern "C"で公開せざるを得ないし それなりの量のグルーコードが必要になるかと その辺良い感じにどうにかしてくれるcrateがあるかもしれないけど
535 名前:デフォルトの名無しさん mailto:sage [2022/08/04(木) 17:29:05.26 ID:1k9fnhsy.net] >>528 そうしたとしてもホスト側に存在しない(ホストからスクリプトに対して公開されていない)機能は使えないでしょ?
536 名前:デフォルトの名無しさん mailto:sage [2022/08/04(木) 17:46:52.95 ID:CkQzFtco.net] https://qiita.com/dalance/items/1593b56ad3744c469643 コメント欄も含めるとなかなか情報がまとまっています
537 名前:デフォルトの名無しさん mailto:sage [2022/08/04(木) 17:49:06.27 ID:8PPO9uzK.net] 良さげ記事
538 名前:はちみつ餃子 mailto:sage [2022/08/04(木) 17:58:11.58 ID:hPtMGH66.net] >>530 ホスト側を経由せずに外にアクセスするのは禁止できたほうが嬉しいことも多いだろ? 俺が使っているソフトでプラグイン機構があるものというと画像ビューアとかメッセンジャとかだが それほど自由に外の世界にアクセスする必要はないし、不必要ならアクセスさせないに越したことは無い。 (悪意あるプラグインを作り難くなるので。) 制限があるというのと制限を付けられるのは表裏一体なのでそんなの場合によるとしか……
539 名前:デフォルトの名無しさん mailto:sage [2022/08/04(木) 18:01:34.69 ID:9TNfUmNd.net] >>529 > 動的リンクするにしてもABIがunstable あー、そうだったわ めんどくさいんだった
540 名前:デフォルトの名無しさん mailto:sage [2022/08/04(木) 18:42:08.03 ID:pLEfRi/j.net] 野良プラグイン入れて環境壊して上等!って時代でもないからねえ。 ある程度、できること制限できるようにしたプラグイン機構も大事な時代よ。 そういう点でwasmがセキュリティとパフォーマンスのバランスが取れていて魅力という層もあるでしょ。
541 名前:デフォルトの名無しさん mailto:sage [2022/08/04(木) 18:42:45.33 ID:KbhCPu0a.net] >>530 そりゃ広い意味で言えばどんな機能だってホスト側に存在してなければ使えない 「ホストにない機能を追加できるプラグイン機構」ってどんなものイメージして言ってるの?
542 名前:デフォルトの名無しさん mailto:sage [2022/08/06(土) 12:18:12.84 ID:z/fLyAW1.net] 今の環境で正しくレンダリングされる10年前に作られたWebサイトは多くない 同様にTauriで作成されたアプリが10年後でも問題なく使用できるのだろうか
543 名前:デフォルトの名無しさん mailto:sage [2022/08/06(土) 20:40:11.73 ID:6gQA87rg.net] Tauriはバックとフロントが明確に分離されているからOS標準ブラウザに変更があっても修繕はしやすそう Macとかだと突然仕様変えてきそうで怖いな
544 名前:デフォルトの名無しさん mailto:sage [2022/08/07(日) 00:00:20.59 ID:pGypWfdH.net] Rustでライブラリをどうやって選定してんの? crate.io見て人気のを選んでんの? GETだけのためにhttpclient使おうとしたらtokio入れて使えとか全然意味わからんしコンパイルしたら これを使うには2018使えと2022使えが出てくる… 他のに変えても変わらず GETなんてコピペ産業で実現させてくれよ use 初期化 GET これで終わらせてくれ
545 名前:デフォルトの名無しさん mailto:sage [2022/08/07(日) 00:05:00.47 ID:pGypWfdH.net] 別に use GET の2行でもいい
546 名前:デフォルトの名無しさん mailto:sage [2022/08/07(日) 00:19:22.87 ID:thO2Aez3.net] >>539 まあ今はそういう人向けの言語じゃないからね とりあえずreqwestのblocking clientでやってみて合わなそうならあきらめろん
547 名前:デフォルトの名無しさん mailto:sage [2022/08/07(日) 00:27:13.75 ID:pGypWfdH.net] crate.ioにwebclient一覧が並べてあるけど結局最近のダウンロード数見て判断なんだろうなと どれもtokio使ってるしCurlコマンドみたいに一発でGETやPOSTって感じでもない tokio必須と言うことは標準でasyncライブラリの完成度が低いんだろうけど 憶測が当たってるかどうかもよくわからない
548 名前:はちみつ餃子 mailto:sage [2022/08/07(日) 00:48:31.33 ID:yGip1YMx.net] >>542 Rust は標準ライブラリの中に非同期ランタイムを持ってない。 言語として非同期を扱えるようにしつつ具体的な部分は外部のクレートに任せられるように 分離に成功しているという意味では十分に完成度は高いとも言える。
549 名前:デフォルトの名無しさん mailto:sage [2022/08/07(日) 01:05:02.63 ID:nCVSRdWl.net] >>539 簡単これだけ #[async_std::main] async fn main() { let uri = "https://httpbin.org/base64/SGVsbG8sIFdvcmxkIQ=="; let s = surf::get(uri).recv_string().await.unwrap(); assert_eq!(s, "Hello, World!"); } Cargo.tomlの[dependencies]に適当に async-std = { version = "*", features = ["attributes", ] } surf = "*"
550 名前:デフォルトの名無しさん mailto:sage [2022/08/07(日) 05:20:01.36 ID:FgVTxKNL.net] 簡単に使いたいなら、非同期じゃなくて同期版のhttpクライアントライブラリ使いなよ
551 名前:デフォルトの名無しさん mailto:sage [2022/08/07(日) 08:15:04.13 ID:PrNdTuny.net] Goを素直に使っとけ 標準ライブラリでそのままできる上に非同期もGoroutineを使うだけ テスト用のライブラリも用意されてるからクライアントサーバーもそのままテストできる
552 名前:デフォルトの名無しさん mailto:sage [2022/08/07(日) 08:22:19.17 ID:nCVSRdWl.net] >>546 Goなんていうものは不要 Rustで簡単に使える
553 名前:デフォルトの名無しさん mailto:sage [2022/08/07(日) 08:29:14.86 ID:PrNdTuny.net] 標準ライブラリでHTTPクライアント・サーバー・テスト・非同期を全て統一的に扱えるってのはかなり強みではある Rustはランタイムコストをゼロに近づけるためライブラリ化しているが、それは必ずしも利用者にとってメリットがあるわけではない あくまでもOSやドライバなどを作る上でランタイムコストを削らないと適さないからそうなっているだけ >>539 みたいな人にはまず用途を考えた上で高レイヤーのプログラムを作りたいのであれば素直にRust以外の言語を使うことをお勧めする
554 名前:デフォルトの名無しさん mailto:sage [2022/08/07(日) 08:59:18 ID:9InYic2G.net] >>548 あまりにも狭い視野と酷い誤解をなさっているようだが ウェブ関係はRustのメリットが十分にある分野で実際にRustで利用が多い分野
555 名前:デフォルトの名無しさん mailto:sage [2022/08/07(日) 09:24:53.04 ID:OveVhBWN.net] 複オジ相手にするのは隔離スレか実質隔離スレの次世代スレだけにしろ
556 名前:デフォルトの名無しさん mailto:sage [2022/08/07(日) 09:37:06.87 ID:VV/7IoC0.net] >>548 はいつものRustアンチのキチガイかな RustはOSやドライバ用と嘘をついてそれ以外なら他の言語を使うべきと誘導する書き込みがそっくり
557 名前:デフォルトの名無しさん mailto:sage [2022/08/07(日) 10:46:09.01 ID:W6kFcilw.net] キチガイ同士ここ以外で仲良くやっとけよ 邪魔なんだよ
558 名前:デフォルトの名無しさん mailto:sage [2022/08/07(日) 12:14:32.05 ID:46MSroSz.net] キチガイ隔離スレのココが機能していてなにより
559 名前:デフォルトの名無しさん mailto:sage [2022/08/07(日) 12:50:43.08 ID:45kFT7pS.net] 次世代スレの方もワッチョイ付ければ例のバカが寄り付かないことがほぼほぼ実証されつつあるので あとは過疎を恐れず移行すれば万事解決です
560 名前:デフォルトの名無しさん mailto:sage [2022/08/07(日) 13:58:05.65 ID:ZjeWku4d.net] まだ実証されてないってことね じゃあバスで
561 名前:デフォルトの名無しさん mailto:sage [2022/08/07(日) 14:08:40.83 ID:XsO6imG4.net] 過疎やん 【ワッチョイあり】プログラミング言語 Rust https://mevius.5ch.net/test/read.cgi/tech/1514107621/
562 名前:デフォルトの名無しさん mailto:sage [2022/08/11(木) 07:14:02.75 ID:wbWFySKV.net] structに不変なフィールドを持たせるにはどうしたらいいのですか? const定数ではなく、インスタンスごとに初期化時に値を設定したら、その後は変更不可能。 他のフィールドは変更可能でも。
563 名前:はちみつ餃子 mailto:sage [2022/08/11(木) 10:33:56.78 ID:5k4DsUHs.net] >>557 直接的にメンバに指定を付けることは出来ない。 Rust のアクセス制御はモジュールが基本単位になっていて、 「メンバに pub が付いていない」「そのモジュールの中でメンバを変更することがない」ならば変更不可能なメンバになる。
564 名前:デフォルトの名無しさん mailto:sage [2022/08/11(木) 11:32:02.59 ID:wbWFySKV.net] >>558 ありがとうございます。
565 名前:デフォルトの名無しさん [2022/08/13(土) 13:13:02.04 ID:hNN+KHup.net] >>45-47 https://www.youtube.com/watch?v=k8x2DiNz4iU
566 名前:デフォルトの名無しさん mailto:sage [[ここ壊れてます] .net] >>560 言語としてのRustにはピクリとも興味がわかなかったが なんだか急にRustに興味がわいてきたぞー
567 名前:デフォルトの名無しさん [2022/08/16(火) 13:03:21.19 ID:RcKGtcJQ.net] VSCode + CodeLLDB + LLDBでデバッグしているのですが、ポインタに関して見方がよくわかりません Borrowed pointer typeの参照先の値ってデバッガ上でどうやったら見れるんですか?
568 名前:デフォルトの名無しさん mailto:age [2022/08/18(木) 15:17:30.09 ID:nMYke7rH.net] 参考までに、mutはドイツ語で勇気の意味です。
569 名前:デフォルトの名無しさん mailto:sage [2022/08/19(金) 15:36:33.17 ID:MNFQes9z.net] スレチ
570 名前:デフォルトの名無しさん mailto:sage [2022/08/19(金) 15:56:19.49 ID:WZnrgrRN.net] 今の時代ってcc++rustなんて、低レイヤーをやってる人以外は不要だな Java Script全盛のこの時代にいちいちコンパイルするなんて面倒で仕方ない
571 名前:デフォルトの名無しさん mailto:sage [2022/08/19(金) 17:51:45.38 ID:jOBplE6P.net] 釣りは隔離スレでどうぞ
572 名前:デフォルトの名無しさん [2022/08/21(日) 14:52:30.50 ID:j3ukytx2.net] RUST大流行だな ほんと紛らわしい
573 名前:デフォルトの名無しさん mailto:sage [[ここ壊れてます] .net] この言語開発した人、Swiftにいっちゃったみたいだけど追い出されたの?
574 名前:デフォルトの名無しさん mailto:sage [2022/08/21(日) 21:36:56.87 ID:RCuqOQsW.net] 確か燃え尽き症候群で自分から離れたんじゃなかったかな
575 名前:デフォルトの名無しさん mailto:sage [[ここ壊れてます] .net] 嘘のようにボロ負けしたんだろうな
576 名前:デフォルトの名無しさん mailto:sage [2022/08/22(月) 12:22:08.49 ID:+Lu+Ewk5.net] ジャバスクリプト全盛の時代にネイティブこんぱいらなんて 不要だろ。 jsでカーネルのラードンをつくる猛者まで出てきた
577 名前:デフォルトの名無しさん [2022/08/25(木) 01:05:28.98 ID:YZq8nn1p.net] Arc<HashMap<T1, T2>>みたいにした場合って、どの範囲でスレッドセーフになるんですか?
578 名前:デフォルトの名無しさん mailto:sage [2022/08/25(木) 02:02:11.07 ID:sE5vq5kZ.net] 範囲はHashMap全体たが Arc単体で提供するスレッドセーフはimmutableな共有所有のみ その例だとHashMapは読み取り専用になる 他を要求するなら他と組み合わせる まずArcは置いといて単独所有の時 整数やブールならAtomicXxxでスレッドセーフ 一般的な型ならMutex<T> 読み取り同時複数ならRwLock<T> それぞれコストが異なるので使い分ける その上で共有所有ならArc<.....>をそれらの上に被せる
579 名前:デフォルトの名無しさん mailto:sage [2022/08/25(木) 02:06:21.10 ID:mMVVZ1qM.net] T1, T2がSend/Syncな前提だよね?
580 名前:デフォルトの名無しさん mailto:sage [2022/08/25(木) 21:50:49.35 ID:sE5vq5kZ.net] もちろんTがSync+Sendの時のみ Arc<T>はSync+Sendとなる
581 名前:デフォルトの名無しさん mailto:sage [2022/08/25(木) 23:42:19.60 ID:3Alfspxr.net] 条件を満たせなければコンパイラが指摘してくれるところがRustの良さ 間違えていても安全でなくてもコンパイルが通ってしまい実行時に酷い目に合う従来の言語
582 名前:デフォルトの名無しさん [2022/08/26(金) 03:34:10.56 ID:7ybirmBf.net] Test
583 名前:デフォルトの名無しさん [2022/08/26(金) 10:06:51.61 ID:i2SIEm4o.net] >>576 コンパイル通ったら安心と思い込む馬鹿
584 名前:デフォルトの名無しさん mailto:sage [2022/08/26(金) 10:39:24.20 ID:z3bi9+6P.net] そいつには触れるな
585 名前:デフォルトの名無しさん mailto:sage [[ここ壊れてます] .net] >>578 思い込みで誤読しているあんたが馬鹿っぽい >>576 にはそんなこと書かれていない
586 名前:デフォルトの名無しさん mailto:sage [2022/08/27(土) 02:23:31.10 ID:4TEBlXJK.net] >>578 日本語読めないバカ
587 名前:デフォルトの名無しさん mailto:sage [[ここ壊れてます] .net] >>578 うちの会社にもいるわ ビルド出来たってドヤ顔のバカ そんなものは、ある程度の言語の知識があればいいだけ。
588 名前:デフォルトの名無しさん mailto:sage [2022/08/27(土) 13:37:40.60 ID:VvCUXBS7.net] デバッグスキル0の奴がビルドだけでOKとか思いたがるんだわ。
589 名前:デフォルトの名無しさん mailto:sage [2022/08/27(土) 14:27:59.40 ID:fe4GQDaF.net] >>582 その会社ヤバくない? 大丈夫?
590 名前:デフォルトの名無しさん mailto:sage [[ここ壊れてます] .net] 確証バイアスかな?
591 名前:デフォルトの名無しさん mailto:sage [2022/08/27(土) 20:57:03.41 ID:0qPHVCED.net] >>585 お前ヤバくない? 大丈夫?
592 名前:デフォルトの名無しさん mailto:age [2022/08/31(水) 02:03:15.88 ID:Lk5NPDCj.net] 最強無敵言語age
593 名前:デフォルトの名無しさん mailto:sage [2022/08/31(水) 08:04:44.83 ID:+Igep1U8.net] >>587 入門者相手には最強だよな。
594 名前:デフォルトの名無しさん mailto:sage [[ここ壊れてます] .net] 急に書き込み減ったけどもう飽きられたの? Scalaのときもそうだったけどエンジニアがこういう読みにくい言語で現場を遊び散らかして負債だけ残すの何とかして欲しいわ
595 名前:デフォルトの名無しさん mailto:sage [[ここ壊れてます] .net] ?の意味とか;の違いとか、すぐに調べられないからバッドノウハウ化しているよね。FAQとかダメダメだし。 せめて検索性に配慮して記号を決めればな。?::くらいにしても問題ないだろうに。
596 名前:デフォルトの名無しさん mailto:sage [[ここ壊れてます] .net] ピークを過ぎた感はある Scalaで遊んでたのはDDDとか高レイヤの好きな意識高い系が中心だったからまあそこまで酷い負債にはなってないけど、 その点Rustの負債はタチが悪そうだな
597 名前:デフォルトの名無しさん [[ここ壊れてます] .net] Amazonがプログラミング言語「Rust」を使っている理由 https://japan.zdnet.com/article/35183866/ Amazon Web Services(AWS)は、同社のエンジニアたちがプログラミング言語「Rust」を 使っている大きな理由として、エネルギー効率の高さを挙げる。 AWSは早くからRustを採用し、GoogleやMicrosoftとともにRust Foundationの創設にも携わった。 現在もRustの普及に熱心に取り組んでいる。 AWSのソフトウェアエンジニアで、Rustの普及に取り組む、 Shane Miller氏と主任エンジニアのCarl Lerche氏の投稿によれば、 Rustはメモリー安全性を高め、セキュリティ関連の不具合を減らす役に立つだけでなく、 PythonやJavaよりもはるかに「エネルギー効率に優れている」という。 Amazonは、2025年までにデータセンターの100%を再生エネルギーでまかなうという目標を掲げ、 データセンターの環境負荷の軽減に取り組んでいる。 Rustの採用はその一翼を担うという。 Rustで構築されたAWSサービスの例としては、 コンテナーアプリ用のサーバーレスプラットフォーム「Lamba」を支える「Firecracker」、 「Amazon Simple Storage Service(S3)」「Amazon Elastic Compute Cloud(EC2)」、 コンテンツ配信ネットワーク「Amazon CloudFront」、 LinuxベースのコンテナーOS「Bottlerocket」がある。 「CやRustが他の言語よりもエネルギー効率に優れていることに驚きはない。 衝撃的なのは、その違いの大きさだ。CとRustを広範に採用すれば、 控えめに見積もってもコンピュートに使用されるエネルギーの量を50%削減できる可能性がある」と Miller氏は述べ、その根拠として、C、GoogleのGo、Lua、Python、Ruby、Fortranなどをはじめとする 複数の言語のエネルギー効率を相対的に示した研究結果を紹介している。
598 名前:デフォルトの名無しさん mailto:sage [2022/08/31(水) 10:44:22.32 ID:nTGfEW2M.net] >>590 そういう基本的なのはチュートリアルに書いてあるんだから何をあらためて検索する必要があるっていうんだ?
599 名前:デフォルトの名無しさん mailto:sage [2022/08/31(水) 12:13:30.34 ID:Fgf/9Zy6.net] >>590 文法は場当たり的に学ばないで初学者向けドキュメント読んだ方が良いと思うけどそれは置いておいて、 rust operatorでググって出てくるこれ参照して演算子の意味調べてもう一度ググれば良いのでは それすらめんどくさい? https://doc.rust-lang.org/book/appendix-02-operators.html
600 名前:デフォルトの名無しさん mailto:sage [2022/08/31(水) 12:30:09.46 ID:836P0mbg.net] question markとかsemicolonで調べればいいんだよ
601 名前:デフォルトの名無しさん mailto:sage [2022/08/31(水) 12:34:08.26 ID:J/OAC0EF.net] 例えば question mark site:doc.rust-lang.org で検索すれば必要な解説がすぐ見つかる
602 名前:デフォルトの名無しさん mailto:sage [[ここ壊れてます] .net] >>593 公式に「チュートリアル」てあったっけ? THE Book読めということかしらん? >>594 Error propagationとかStatement and item terminatorぐらいしか記載無いんだけど…… >>595 公式の解説出てこないんだけど、公式には説明無いんかね?
603 名前:デフォルトの名無しさん mailto:sage [[ここ壊れてます] .net] >>596 おお、ここまで指定すれば見つかりますな。公式トップに検索窓ぐらい欲しいところだけど。
604 名前:デフォルトの名無しさん mailto:sage [[ここ壊れてます] .net] >>597 エラーとか文に関わるものということが分かれば、関連するリファレンス探すとっかかりにはなるんじゃないかと 少なくとも記号よりは検索しやすい
605 名前:デフォルトの名無しさん mailto:sage [2022/08/31(水) 13:39:17.87 ID:lcZ+Kyy5.net] 所有権チェックはありがたいけど、lintみたいにビルドと分けた方が使い勝手よかったと思うがな。
606 名前:はちみつ餃子 mailto:sage [2022/08/31(水) 13:42:22.79 ID:nTGfEW2M.net] >>597 > THE Book読めということかしら せやで。 まあそれに限らなくてもいいけどどんな入門書でも ? の説明がないなんてことはないでしょ。 常識的な手順通りに学習してれば ? が大まかに何をする演算子なのかくらいは知っているはずだし、 エラー処理にかかわるものだと知ってればもっと細かいドキュメントを探すのにも苦労するってことはない。 なるべく一発で検索できたほうが便利というのはわからんでもないが、 演算子であると同時に制御構文の類でもあり、周辺の機能と連携するのできちんとした理解をしようとすれば どうせ色々と見るはめになる。
607 名前:デフォルトの名無しさん mailto:sage [2022/08/31(水) 15:08:14.60 ID:Fgf/9Zy6.net] >>600 所有権チェックをなくすってどういうこと? referenceが有効な間に元データをmoveした場合に警告だけ出してコード自体はコンパイルできるようにするとかそういうこと?
608 名前:デフォルトの名無しさん [2022/08/31(水) 16:15:20.37 ID:bi3oBo/Y.net] コンパイル(ビルド)時に所有権チェックの結果を使ってメモリの解放処理を挿入してるんだから分けるのは無理
609 名前:デフォルトの名無しさん mailto:sage [2022/08/31(水) 16:22:04.68 ID:UXqUoG+N.net] ビルドしなくてももっと気軽にわかるようにしろってことか? linterの領域外れてる気もするが
610 名前:はちみつ餃子 mailto:sage [2022/08/31(水) 16:50:31.19 ID:nTGfEW2M.net] 細かな所有権の整合性を後回しにしてとりあえず動く (ように見える) ところまでもっていきたいという気持ちはわからんもでない。 でもなー、そういうことすると整合性がとれてないままの未定義コードが世に溢れてしまうのは確実だろう。
611 名前:デフォルトの名無しさん mailto:sage [2022/08/31(水) 16:56:11.73 ID:LCT5ihCl.net] 所有権周りのエラーって基本的なデータ構造に起因することが多いからなぁ 後から直そうとか思うと結局全部作り直すはめになるから 一度チェックなしモードとかで作っちゃうと永遠にそのままだろうね
612 名前:デフォルトの名無しさん mailto:sage [2022/08/31(水) 17:04:46.18 ID:BdHQqSBt.net] マンホールって卑猥な単語じゃね?
613 名前:デフォルトの名無しさん mailto:sage [2022/08/31(水) 19:07:16.13 ID:th8cAM8K.net] >>592 そのうち、他の分野のライフサイクルみたいに、製造時、利用時といった感じで電力効率が語られるようになるんかね。