[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 11/05 10:37 / Filesize : 296 KB / Number-of Response : 1021
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Rust part15



1 名前:デフォルトの名無しさん mailto:sage [2022/05/12(木) 18:28:20.99 ID:cuIcFT6k.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/

※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/

971 名前:デフォルトの名無しさん mailto:sage [2022/06/25(土) 16:43:21.45 ID:VflkbZsO.net]
菅総理が、我が国はワッセンブラに注力すると宣言したら、どうするんだよ?

972 名前:デフォルトの名無しさん mailto:sage [2022/06/25(土) 16:47:50.00 ID:Xmq8wuxM.net]
なるほど、、?(わからん)
WebAssembly Reference Typesで、WasmでDOMを操作する壁がここまで下がった
https://zenn.dev/igrep/articles/2021-11-wasm-reference-types

973 名前:デフォルトの名無しさん mailto:sage [2022/06/25(土) 16:50:02 ID:R8NAfVhJ.net]
DOMってなんだ?(←自分で調べろ)

974 名前:デフォルトの名無しさん mailto:sage [2022/06/25(土) 17:02:05 ID:WInGVki9.net]
>>956
DOMとは?わかりやすく解説する! | イバログ
https://gyroibaraki.com/dom/

975 名前:デフォルトの名無しさん mailto:sage [2022/06/25(土) 17:04:38 ID:Ch122rDL.net]
DOM操作なんか、どうやっても遅いんだからワズムからいじる必要ないだろ

976 名前:デフォルトの名無しさん mailto:sage [2022/06/25(土) 17:08:43 ID:/UVjDglo.net]
DOM操作は流石にJS系でやればよくね?

977 名前:デフォルトの名無しさん mailto:sage [2022/06/25(土) 17:19:33 ID:XFOsSqRc.net]
そんなことはない、JSやTSのようなダメ言語を排して、全部ほかのコンパイル型言語で統一して書けるように考えたのに
遅いなら話にならない。うんこ

978 名前:デフォルトの名無しさん mailto:sage [2022/06/25(土) 17:32:09.99 ID:KYOYlq4y.net]
wasmはjsを置き換えるものではないっていう方針がよくわからんな。置き換えていいのに。

979 名前:デフォルトの名無しさん mailto:sage [2022/06/25(土) 17:33:38.66 ID:Ch122rDL.net]
タイプスクリプトでドム操作書いてみたら分かると思うけど、キャストだらけになる



980 名前:デフォルトの名無しさん mailto:sage [2022/06/25(土) 17:38:33.58 ID:Sl1k0I/l.net]
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 より

981 名前:デフォルトの名無しさん mailto:sage [2022/06/25(土) 17:57:29.10 ID:qzsUrSUG.net]
なるほどね

982 名前:デフォルトの名無しさん mailto:sage [2022/06/25(土) 17:59:58.79 ID:9jpr7vFN.net]
ははーん、ユニコーンね

983 名前:デフォルトの名無しさん mailto:sage [2022/06/25(土) 18:04:46.90 ID:ndOOnBgl.net]
https://github.githubassets.com/images/icons/emoji/unicode/1f984.png

984 名前:デフォルトの名無しさん mailto:sage [2022/06/25(土) 18:08:27.82 ID:57CBQU6k.net]
🦄

985 名前:デフォルトの名無しさん mailto:sage [2022/06/25(土) 19:58:37.73 ID:VflkbZsO.net]
いいわー
ワッセンブラいいわー。

986 名前:デフォルトの名無しさん [2022/06/25(土) 20:26:19 ID:bZig/WUT.net]
スレチおるど

987 名前:デフォルトの名無しさん mailto:sage [2022/06/25(土) 22:42:14.67 ID:hVwOcYNS.net]
DOMてアレやろ、

988 名前:デフォルトの名無しさん mailto:sage [2022/06/25(土) 22:55:47 ID:Bztv57SD.net]
ドムとかユニコーンとかガンダムかよ

989 名前:デフォルトの名無しさん mailto:sage [2022/06/25(土) 23:21:23 ID:/UVjDglo.net]
tenplate要素使ってDOMツリー作ってそこに値や要素追加して表示しろって言われた時は訳わかんなかった



990 名前:デフォルトの名無しさん mailto:sage [2022/06/25(土) 23:22:45.89 ID:Ch122rDL.net]
>>972
スペル間違うぐらいなら無理せずカタカナで書けよ

991 名前:デフォルトの名無しさん mailto:sage [2022/06/25(土) 23:35:08.74 ID:3qOpf/5R.net]
フロントに全く興味ない奴らが無理してrust使おうとしてるってのがもうクソだわ

992 名前:デフォルトの名無しさん mailto:sage [2022/06/25(土) 23:57:43.41 ID:sDy4bz93.net]
Stringの中身が変化してほしい時のtrim()はどうすればよいですか?

993 名前:デフォルトの名無しさん mailto:sage [2022/06/26(日) 00:30:53.23 ID:J3iRsr8e.net]
自分では何も思い付かないんですか?

994 名前:デフォルトの名無しさん mailto:sage [2022/06/26(日) 00:41:24.45 ID:DP2sbpoK.net]
>>942
なぜ無駄に高解像度なのか

995 名前:デフォルトの名無しさん mailto:sage [2022/06/26(日) 01:12:05.67 ID:82o8ItO8.net]
s.retain(|c| !c.is_whitespace());

996 名前:デフォルトの名無しさん mailto:sage [2022/06/26(日) 01:14:23.73 ID:82o8ItO8.net]
中間のスペースも削除されるのか

997 名前:デフォルトの名無しさん mailto:sage [2022/06/26(日) 04:54:09.98 ID:mBbZ0Pti.net]
>>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)'
ダメだった…

998 名前:デフォルトの名無しさん mailto:sage [2022/06/26(日) 05:14:19.98 ID:vh+TaUjL.net]
s.truncate(s.trim_end().len())

999 名前:デフォルトの名無しさん mailto:sage [2022/06/26(日) 11:52:06.13 ID:KbueaMTO.net]
panic する理由を理解したほうがいいよ



1000 名前:デフォルトの名無しさん [2022/06/26(日) 17:08:41.82 ID:afHQr9JE.net]
Linus「メモリ確保でpanicするって?認めんわ断じて認めん、ワシの目の黒い内は許さんぞ」

1001 名前:デフォルトの名無しさん mailto:sage [2022/06/26(日) 17:27:36.02 ID:nfXqcTpP.net]
宇宙じゃ。宇宙のせいじゃ!

1002 名前:デフォルトの名無しさん mailto:sage [2022/06/26(日) 17:36:15.17 ID:DrXudPeH.net]
Linuxの話題は、あわしろを召喚しちまうから、やめとけ

1003 名前:デフォルトの名無しさん mailto:sage [2022/06/26(日) 17:36:30.96 ID:TFpQVi1k.net]
>>983
青いからセーフ

1004 名前:デフォルトの名無しさん mailto:sage [2022/06/26(日) 18:43:28.30 ID:82o8ItO8.net]
fn

1005 名前: 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のメソッドが他に見つからなかった
[]
[ここ壊れてます]

1006 名前:デフォルトの名無しさん mailto:sage [2022/06/26(日) 21:34:33.23 ID:xXnnisch.net]
> s.find(|c: char| !c.is_whitespace())

rustってこれうまいこと関数名だけ渡せないんだっけ?
しかも関数合成できれば
s.find(char::is_whitespace . not)
みたいに書けたり?

1007 名前:デフォルトの名無しさん mailto:sage [2022/06/26(日) 22:00:29.06 ID:ZYHqIh+i.net]
5chでまともな回答期待する方が頭おかしいことになぜ気付かないんだ
redditでDeepL使って英語で海外ニキに質問した方が1億倍まともな回答くれるぞ

1008 名前:デフォルトの名無しさん mailto:sage [2022/06/26(日) 23:10:04.56 ID:Y8S6yv8a.net]
>>988
関数を自分で定義しとけばわたせるけど
合成しながらだとマクロ使わないと無理なんじゃないかな

1009 名前:デフォルトの名無しさん mailto:sage [2022/06/26(日) 23:57:49.73 ID:VW+uLNTw.net]
>>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"));



1010 名前:デフォルトの名無しさん mailto:sage [2022/06/27(月) 00:08:38.77 ID:xVflpq4r.net]
>>989
プログラミング情熱のある2-30代の集う板じゃなく
プログラミングはもう碌にしないおっさん・爺が多数の板だからな
質問してもおいおいな回答になるのは仕方ない

1011 名前:デフォルトの名無しさん mailto:sage [2022/06/27(月) 00:54:52.23 ID:7xcJ7izy.net]
>>989
翻訳の話題はあわしろを召喚しちまうからやめとけ。

1012 名前:デフォルトの名無しさん mailto:sage [2022/06/27(月) 02:47:29.39 ID:52L0v8L5.net]
null ぬる なる

1013 名前:デフォルトの名無しさん mailto:sage [2022/06/27(月) 04:40:51.89 ID:KgP+fmt3.net]
rust cliコマンドがなぜrustupなのか誰も疑問に思わんの?
俺はこのupがなんなのか気になって調べても分からなくてイライラする
rustup updateとかものすごく気に入らないしそもそもrustupとcargoがあるのもややこしい

1014 名前:デフォルトの名無しさん [2022/06/27(月) 08:27:05.49 ID:SVONOTxH.net]
慣用句の意味を調べるときは"で括るんやで

1015 名前:デフォルトの名無しさん mailto:sage [2022/06/27(月) 08:27:50.24 ID:gDlfKP6u.net]
>>995
今はrustcやrustfmtなど含めて全て実体は同じでハードリンク
cargoが各ワーキングディレクトリに対して適用されるのに対して
rustupは全体に適用されるため
同じ名前のサブコマンドでも全く異なる

1016 名前:デフォルトの名無しさん mailto:sage [2022/06/27(月) 08:28:40.38 ID:gDlfKP6u.net]
次スレ
Rust part16
https://mevius.5ch.net/test/read.cgi/tech/1656285423/

1017 名前:デフォルトの名無しさん [2022/06/27(月) 10:40:27.69 ID:B/Kpn5Aj.net]

Slot
💣🎴💣
🎰🎰🌸
🌸😜👻
(LA: 2.02, 1.95, 1.85)


1018 名前:デフォルトの名無しさん [2022/06/27(月) 10:40:32.55 ID:B/Kpn5Aj.net]

Status ♥5 ♣8 ♠7 HP: 1000 pts. たぶん(0)
2.02, 1.95, 1.85(904.632812) Proc. [0.187892 sec.]


1019 名前:1001 [Over 1000 Thread.net]
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 45日 16時間 12分 12秒



1020 名前:過去ログ ★ [[過去ログ]]
■ このスレッドは過去ログ倉庫に格納されています






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<296KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef