公式
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/
※C++との比較は専用スレへ
C++ vs Rust
https://mevius.5ch.net/test/read.cgi/tech/1619219089/
※次スレは原則>>980が立てること
前スレ
Rust part14
https://mevius.5ch.net/test/read.cgi/tech/1644596656/
探検
Rust part15
レス数が1000を超えています。これ以上書き込みはできません。
2022/05/12(木) 18:28:20.99ID:cuIcFT6k
942デフォルトの名無しさん
2022/06/25(土) 16:07:10.43ID:ILDlrGK/ WebAssemblyはJVMやeBPFのリバイバルではない WasmがWeb以外でもアツい理由 - ログミーTech
https://logmi.jp/tech/articles/324956
スライド画像
https://img.logmi.jp/article_images/Jq1SrATqsEYupEF4aeAh6j.png
https://img.logmi.jp/article_images/HxUso3S1L63MXwia5RxGXd.png
https://img.logmi.jp/article_images/CntVo54bYF2MXnib2EXGei.png
https://img.logmi.jp/article_images/VLPRht2v3NnzzWyWP1pvrs.png
https://img.logmi.jp/article_images/SsS6T6EZrrPaWCSi5xq2bJ.png
https://img.logmi.jp/article_images/2Miy64H2xW7RnWCRGGJDAQ.png
https://img.logmi.jp/article_images/F2UYcDuwsrybfB6F4npBDL.png
https://img.logmi.jp/article_images/GC6f4J9DHeoEaTQGXaKacJ.png
https://logmi.jp/tech/articles/324956
スライド画像
https://img.logmi.jp/article_images/Jq1SrATqsEYupEF4aeAh6j.png
https://img.logmi.jp/article_images/HxUso3S1L63MXwia5RxGXd.png
https://img.logmi.jp/article_images/CntVo54bYF2MXnib2EXGei.png
https://img.logmi.jp/article_images/VLPRht2v3NnzzWyWP1pvrs.png
https://img.logmi.jp/article_images/SsS6T6EZrrPaWCSi5xq2bJ.png
https://img.logmi.jp/article_images/2Miy64H2xW7RnWCRGGJDAQ.png
https://img.logmi.jp/article_images/F2UYcDuwsrybfB6F4npBDL.png
https://img.logmi.jp/article_images/GC6f4J9DHeoEaTQGXaKacJ.png
943デフォルトの名無しさん
2022/06/25(土) 16:08:16.68ID:VflkbZsO >>941
俺の予想では、それが質問内容だと思います。
俺の予想では、それが質問内容だと思います。
944デフォルトの名無しさん
2022/06/25(土) 16:08:25.01ID:ILDlrGK/945デフォルトの名無しさん
2022/06/25(土) 16:15:09.41ID:akwg01K7 複オジばりの汚文章でワロタ
中身がなさすぎ
中身がなさすぎ
946デフォルトの名無しさん
2022/06/25(土) 16:15:26.89ID:KYOYlq4y >>943
wasmの読み方じゃなかったっけ?
wasmの読み方じゃなかったっけ?
947デフォルトの名無しさん
2022/06/25(土) 16:19:32.95ID:VflkbZsO 読み方は、ワッセンブラで決まりでしょう。
948デフォルトの名無しさん
2022/06/25(土) 16:20:56.33ID:XFOsSqRc DOM・シャドーDOM操作が遅いからwasmはあまり流行らない、これを何とかしない限り、シコシコts書いてるオジサンが量産される
949デフォルトの名無しさん
2022/06/25(土) 16:25:58.06ID:a5vhFArq950デフォルトの名無しさん
2022/06/25(土) 16:29:05.96ID:VflkbZsO 俺は白人の読み方なんか認めんよ。
中国ならまだしも。
中国ならまだしも。
951はちみつ餃子 ◆8X2XSCHEME
2022/06/25(土) 16:33:30.99ID:jO6HH2tH 命名の伝統としてちょっとしたネガティブワードを使うことがあるんだよ。
いわゆるギークセンスというやつだが、日本語でいう中二病に近い。
GIMP の名前を変えるためにフォークするだのなんだのでもめたことがあるの知らんか?
Wasm もそれと同じようなノリなんじゃねーの?
https://eow.alc.co.jp/search?q=wasm
いわゆるギークセンスというやつだが、日本語でいう中二病に近い。
GIMP の名前を変えるためにフォークするだのなんだのでもめたことがあるの知らんか?
Wasm もそれと同じようなノリなんじゃねーの?
https://eow.alc.co.jp/search?q=wasm
952デフォルトの名無しさん
2022/06/25(土) 16:35:39.94ID:VflkbZsO >>951
じゃあ、ワッセンブラでいいじゃん。
じゃあ、ワッセンブラでいいじゃん。
953デフォルトの名無しさん
2022/06/25(土) 16:39:47.09ID:ljJSN7j6954デフォルトの名無しさん
2022/06/25(土) 16:43:21.45ID:VflkbZsO 菅総理が、我が国はワッセンブラに注力すると宣言したら、どうするんだよ?
955デフォルトの名無しさん
2022/06/25(土) 16:47:50.00ID:Xmq8wuxM なるほど、、?(わからん)
WebAssembly Reference Typesで、WasmでDOMを操作する壁がここまで下がった
https://zenn.dev/igrep/articles/2021-11-wasm-reference-types
WebAssembly Reference Typesで、WasmでDOMを操作する壁がここまで下がった
https://zenn.dev/igrep/articles/2021-11-wasm-reference-types
956デフォルトの名無しさん
2022/06/25(土) 16:50:02.77ID:R8NAfVhJ DOMってなんだ?(←自分で調べろ)
957デフォルトの名無しさん
2022/06/25(土) 17:02:05.86ID:WInGVki9958デフォルトの名無しさん
2022/06/25(土) 17:04:38.90ID:Ch122rDL DOM操作なんか、どうやっても遅いんだからワズムからいじる必要ないだろ
959デフォルトの名無しさん
2022/06/25(土) 17:08:43.45ID:/UVjDglo DOM操作は流石にJS系でやればよくね?
960デフォルトの名無しさん
2022/06/25(土) 17:19:33.87ID:XFOsSqRc そんなことはない、JSやTSのようなダメ言語を排して、全部ほかのコンパイル型言語で統一して書けるように考えたのに
遅いなら話にならない。うんこ
遅いなら話にならない。うんこ
961デフォルトの名無しさん
2022/06/25(土) 17:32:09.99ID:KYOYlq4y wasmはjsを置き換えるものではないっていう方針がよくわからんな。置き換えていいのに。
962デフォルトの名無しさん
2022/06/25(土) 17:33:38.66ID:Ch122rDL タイプスクリプトでドム操作書いてみたら分かると思うけど、キャストだらけになる
963デフォルトの名無しさん
2022/06/25(土) 17:38:33.58ID:Sl1k0I/l WebAssemblyはJavaScriptを置き換えようとしていますか?
いいえ!WebAssemblyは、JavaScriptを補完するものであり、JavaScriptを置き換えるものではないように設計されています。WebAssemblyは、時間の経過とともに多くの言語をWebにコンパイルできるようになりますが、JavaScriptには信じられないほどの勢いがあり、Webの単一の特権( 上記のとおり)動的言語のままです。さらに、JavaScriptとWebAssemblyは、さまざまな構成で一緒に使用されることが期待されています。
・JavaScriptを活用して物事をつなぎ合わせるコンパイル済みのC++アプリ全体。
・WebAssemblyで制御されるメインのセンターキャンバスの周りのHTML/CSS / JavaScript UIにより、開発者はWebフレームワークの力を活用して、アクセス可能なWebネイティブな感覚のエクスペリエンスを構築できます。
・ほとんどの場合、いくつかの高性能WebAssemblyモジュールを備えたHTML / CSS / JavaScriptアプリ(たとえば、グラフ化、シミュレーション、画像/音声/ビデオ処理、視覚化、アニメーション、圧縮など、今日asm.jsですでに見られる例)開発者が今日のJavaScriptライブラリと同じように人気のあるWebAssemblyライブラリを再利用できるようにします。
・WebAssembly がガベージコレクションされたオブジェクトにアクセスできる:ユニコーン:ようになると、それらのオブジェクトはJavaScriptと共有され、独自の壁に囲まれた世界には存在しなくなります。
https://webassembly.org/docs/faq/#is-webassembly-trying-to-replace-javascript より
いいえ!WebAssemblyは、JavaScriptを補完するものであり、JavaScriptを置き換えるものではないように設計されています。WebAssemblyは、時間の経過とともに多くの言語をWebにコンパイルできるようになりますが、JavaScriptには信じられないほどの勢いがあり、Webの単一の特権( 上記のとおり)動的言語のままです。さらに、JavaScriptとWebAssemblyは、さまざまな構成で一緒に使用されることが期待されています。
・JavaScriptを活用して物事をつなぎ合わせるコンパイル済みのC++アプリ全体。
・WebAssemblyで制御されるメインのセンターキャンバスの周りのHTML/CSS / JavaScript UIにより、開発者はWebフレームワークの力を活用して、アクセス可能なWebネイティブな感覚のエクスペリエンスを構築できます。
・ほとんどの場合、いくつかの高性能WebAssemblyモジュールを備えたHTML / CSS / JavaScriptアプリ(たとえば、グラフ化、シミュレーション、画像/音声/ビデオ処理、視覚化、アニメーション、圧縮など、今日asm.jsですでに見られる例)開発者が今日のJavaScriptライブラリと同じように人気のあるWebAssemblyライブラリを再利用できるようにします。
・WebAssembly がガベージコレクションされたオブジェクトにアクセスできる:ユニコーン:ようになると、それらのオブジェクトはJavaScriptと共有され、独自の壁に囲まれた世界には存在しなくなります。
https://webassembly.org/docs/faq/#is-webassembly-trying-to-replace-javascript より
964デフォルトの名無しさん
2022/06/25(土) 17:57:29.10ID:qzsUrSUG なるほどね
965デフォルトの名無しさん
2022/06/25(土) 17:59:58.79ID:9jpr7vFN ははーん、ユニコーンね
966デフォルトの名無しさん
2022/06/25(土) 18:04:46.90ID:ndOOnBgl967デフォルトの名無しさん
2022/06/25(土) 18:08:27.82ID:57CBQU6k 🦄
968デフォルトの名無しさん
2022/06/25(土) 19:58:37.73ID:VflkbZsO いいわー
ワッセンブラいいわー。
ワッセンブラいいわー。
969デフォルトの名無しさん
2022/06/25(土) 20:26:19.09ID:bZig/WUT スレチおるど
970デフォルトの名無しさん
2022/06/25(土) 22:42:14.67ID:hVwOcYNS DOMてアレやろ、
971デフォルトの名無しさん
2022/06/25(土) 22:55:47.02ID:Bztv57SD ドムとかユニコーンとかガンダムかよ
972デフォルトの名無しさん
2022/06/25(土) 23:21:23.27ID:/UVjDglo tenplate要素使ってDOMツリー作ってそこに値や要素追加して表示しろって言われた時は訳わかんなかった
973デフォルトの名無しさん
2022/06/25(土) 23:22:45.89ID:Ch122rDL >>972
スペル間違うぐらいなら無理せずカタカナで書けよ
スペル間違うぐらいなら無理せずカタカナで書けよ
974デフォルトの名無しさん
2022/06/25(土) 23:35:08.74ID:3qOpf/5R フロントに全く興味ない奴らが無理してrust使おうとしてるってのがもうクソだわ
975デフォルトの名無しさん
2022/06/25(土) 23:57:43.41ID:sDy4bz93 Stringの中身が変化してほしい時のtrim()はどうすればよいですか?
976デフォルトの名無しさん
2022/06/26(日) 00:30:53.23ID:J3iRsr8e 自分では何も思い付かないんですか?
977デフォルトの名無しさん
2022/06/26(日) 00:41:24.45ID:DP2sbpoK >>942
なぜ無駄に高解像度なのか
なぜ無駄に高解像度なのか
978デフォルトの名無しさん
2022/06/26(日) 01:12:05.67ID:82o8ItO8 s.retain(|c| !c.is_whitespace());
979デフォルトの名無しさん
2022/06/26(日) 01:14:23.73ID:82o8ItO8 中間のスペースも削除されるのか
980デフォルトの名無しさん
2022/06/26(日) 04:54:09.98ID:mBbZ0Pti >>979
そりゃそうだろw
後側の削除だけならtruncateすればいいんじゃね?
let mut s = String::from("てすと ");
let end = s.rfind(|c: char| !c.is_whitespace()).unwrap();
s.truncate(end + 1);
thread 'main' panicked at 'assertion failed: self.is_char_boundary(new_len)'
ダメだった…
そりゃそうだろw
後側の削除だけならtruncateすればいいんじゃね?
let mut s = String::from("てすと ");
let end = s.rfind(|c: char| !c.is_whitespace()).unwrap();
s.truncate(end + 1);
thread 'main' panicked at 'assertion failed: self.is_char_boundary(new_len)'
ダメだった…
981デフォルトの名無しさん
2022/06/26(日) 05:14:19.98ID:vh+TaUjL s.truncate(s.trim_end().len())
982デフォルトの名無しさん
2022/06/26(日) 11:52:06.13ID:KbueaMTO panic する理由を理解したほうがいいよ
983デフォルトの名無しさん
2022/06/26(日) 17:08:41.82ID:afHQr9JE Linus「メモリ確保でpanicするって?認めんわ断じて認めん、ワシの目の黒い内は許さんぞ」
984デフォルトの名無しさん
2022/06/26(日) 17:27:36.02ID:nfXqcTpP 宇宙じゃ。宇宙のせいじゃ!
985デフォルトの名無しさん
2022/06/26(日) 17:36:15.17ID:DrXudPeH Linuxの話題は、あわしろを召喚しちまうから、やめとけ
986デフォルトの名無しさん
2022/06/26(日) 17:36:30.96ID:TFpQVi1k >>983
青いからセーフ
青いからセーフ
987デフォルトの名無しさん
2022/06/26(日) 18:43:28.30ID:82o8ItO8 fn trim_in_place(s: &mut String) {
if let Some(offset) = s.find(|c: char| !c.is_whitespace()) {
s.replace_range(..offset, "");
}
s.truncate(s.trim_end().len());
}
前後で非対称なのが気になるけど文字境界をうまく扱えるStringのメソッドが他に見つからなかった
if let Some(offset) = s.find(|c: char| !c.is_whitespace()) {
s.replace_range(..offset, "");
}
s.truncate(s.trim_end().len());
}
前後で非対称なのが気になるけど文字境界をうまく扱えるStringのメソッドが他に見つからなかった
988デフォルトの名無しさん
2022/06/26(日) 21:34:33.23ID:xXnnisch > s.find(|c: char| !c.is_whitespace())
rustってこれうまいこと関数名だけ渡せないんだっけ?
しかも関数合成できれば
s.find(char::is_whitespace . not)
みたいに書けたり?
rustってこれうまいこと関数名だけ渡せないんだっけ?
しかも関数合成できれば
s.find(char::is_whitespace . not)
みたいに書けたり?
989デフォルトの名無しさん
2022/06/26(日) 22:00:29.06ID:ZYHqIh+i 5chでまともな回答期待する方が頭おかしいことになぜ気付かないんだ
redditでDeepL使って英語で海外ニキに質問した方が1億倍まともな回答くれるぞ
redditでDeepL使って英語で海外ニキに質問した方が1億倍まともな回答くれるぞ
990デフォルトの名無しさん
2022/06/26(日) 23:10:04.56ID:Y8S6yv8a991デフォルトの名無しさん
2022/06/26(日) 23:57:49.73ID:VW+uLNTw >>461
メソッドを増やす時にOrphanルールで出来ないとしたら
それは標準ライブラリ含めて他人が書いたトレイトを他人が書いた型に適用する場合
スライスへfindメソッドを増やすことはそれに該当しないため出来る
適当なトレイト名SliceFindMethodを用意してスライス[T]にメソッドを実装すればよい
trait SliceFindMethod<T> {
fn find(&self, pattern: impl SliceFindPattern<T>) -> Option<usize>;
}
impl<T: PartialEq> SliceFindMethod<T> for [T] {
fn find(&self, pattern: impl SliceFindPattern<T>) -> Option<usize> {
pattern.slice_find(self)
}
}
文字列へのfindと同様に様々なパターンに対応できるよう
適当なトレイト名SliceFindPatternとそのメソッドslice_find()を用意し様々な実装をすればよい
長くなるので全体のコード
https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=9110b8c76b17fb479bfef80e1f10182d
これでスライスの一種であるバイト列に対してもfindが適用できる
let buffer: &[u8] = b"ABCDEFGHIHJKL";
assert_eq!(Some(5), buffer.find(b'F'));
assert_eq!(Some(3), buffer.find(b"DEF"));
メソッドを増やす時にOrphanルールで出来ないとしたら
それは標準ライブラリ含めて他人が書いたトレイトを他人が書いた型に適用する場合
スライスへfindメソッドを増やすことはそれに該当しないため出来る
適当なトレイト名SliceFindMethodを用意してスライス[T]にメソッドを実装すればよい
trait SliceFindMethod<T> {
fn find(&self, pattern: impl SliceFindPattern<T>) -> Option<usize>;
}
impl<T: PartialEq> SliceFindMethod<T> for [T] {
fn find(&self, pattern: impl SliceFindPattern<T>) -> Option<usize> {
pattern.slice_find(self)
}
}
文字列へのfindと同様に様々なパターンに対応できるよう
適当なトレイト名SliceFindPatternとそのメソッドslice_find()を用意し様々な実装をすればよい
長くなるので全体のコード
https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=9110b8c76b17fb479bfef80e1f10182d
これでスライスの一種であるバイト列に対してもfindが適用できる
let buffer: &[u8] = b"ABCDEFGHIHJKL";
assert_eq!(Some(5), buffer.find(b'F'));
assert_eq!(Some(3), buffer.find(b"DEF"));
992デフォルトの名無しさん
2022/06/27(月) 00:08:38.77ID:xVflpq4r993デフォルトの名無しさん
2022/06/27(月) 00:54:52.23ID:7xcJ7izy >>989
翻訳の話題はあわしろを召喚しちまうからやめとけ。
翻訳の話題はあわしろを召喚しちまうからやめとけ。
994デフォルトの名無しさん
2022/06/27(月) 02:47:29.39ID:52L0v8L5 null ぬる なる
995デフォルトの名無しさん
2022/06/27(月) 04:40:51.89ID:KgP+fmt3 rust cliコマンドがなぜrustupなのか誰も疑問に思わんの?
俺はこのupがなんなのか気になって調べても分からなくてイライラする
rustup updateとかものすごく気に入らないしそもそもrustupとcargoがあるのもややこしい
俺はこのupがなんなのか気になって調べても分からなくてイライラする
rustup updateとかものすごく気に入らないしそもそもrustupとcargoがあるのもややこしい
996デフォルトの名無しさん
2022/06/27(月) 08:27:05.49ID:SVONOTxH 慣用句の意味を調べるときは"で括るんやで
997デフォルトの名無しさん
2022/06/27(月) 08:27:50.24ID:gDlfKP6u >>995
今はrustcやrustfmtなど含めて全て実体は同じでハードリンク
cargoが各ワーキングディレクトリに対して適用されるのに対して
rustupは全体に適用されるため
同じ名前のサブコマンドでも全く異なる
今はrustcやrustfmtなど含めて全て実体は同じでハードリンク
cargoが各ワーキングディレクトリに対して適用されるのに対して
rustupは全体に適用されるため
同じ名前のサブコマンドでも全く異なる
998デフォルトの名無しさん
2022/06/27(月) 08:28:40.38ID:gDlfKP6u999デフォルトの名無しさん
2022/06/27(月) 10:40:27.69ID:B/Kpn5AjSlot
💣🎴💣
🎰🎰🌸
🌸😜👻
(LA: 2.02, 1.95, 1.85)
1000デフォルトの名無しさん
2022/06/27(月) 10:40:32.55ID:B/Kpn5AjStatus ♥5 ♣8 ♠7 HP: 1000 pts. たぶん(0)
2.02, 1.95, 1.85(904.632812) Proc. [0.187892 sec.]
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 45日 16時間 12分 12秒
新しいスレッドを立ててください。
life time: 45日 16時間 12分 12秒
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 【速報】習主席とトランプ大統領が電話会談 台湾問題について★3 [ニョキニョキ★]
- 【速報】トランプ大統領、中国の習近平国家主席を「国賓」として招待することに [ニョキニョキ★]
- 米中電話会談、トランプ氏は「米国側は中国にとっての台湾問題の重要性を理解する」 [1ゲットロボ★]
- 【音楽】「なんでこんなバカが国のトップなの?」 若者に人気のバンド「GEZAN」のマヒトゥ・ザ・ピーポーが高市総理に苦言 [シャチ★]
- 中国人「『日本は危ないから行かないように』と言われたが、日本に来たらとても安全だった」 [お断り★]
- 石破前総理「どうすれば台湾有事にならないかを考えるべき」★2 [1ゲットロボ★]
- 【高市悲報】来年、習近平主席がアメリカに「国賓」として訪米。どうするんだよ高市・・・アメリカも敵に回すのか? [483862913]
- トランプおやびん「米中関係は極めて強固」高市早苗「」 [834922174]
- 【高市悲報】トランプおやびん「偉大な指導者である習近平首席、米国は中国にとっての台湾問題の重要性を理解しています」 [115996789]
- 【速報】高市「アタシぜっったい謝らないからッ!!」→中国焦る [308389511]
- 【速報】足立ひき逃げ犯、精神病持ちだった [329271814]
- 「琉球有事は中国有事」 中国のネトウヨが拡散 これには日本のネトウヨ叩きのめされる [241672384]
