公式
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
■ このスレッドは過去ログ倉庫に格納されています
2022/05/12(木) 18:28:20.99ID:cuIcFT6k
242デフォルトの名無しさん
2022/05/21(土) 14:51:09.52ID:/NlDQvZW プログラミング初心者は言語知識よりも
プログラミングという行為がどういうものなのか
どういうことを考える必要があるかというメタ認知を得ることが最も重要
メタ認知を獲得するために最も効果・効率ともに高い方法は
考えて・書いて・動かして結果を確認するというフィードバックサイクルをとにかく繰り返し回すこと
初心者は上記のサイクルが回しやすい言語から始めると後々の成長が早い
C/C++/Rustはサイクルを回すために越えなければならないハードルが相対的に高いため
現代では初心者向け言語ではない
プログラミングという行為がどういうものなのか
どういうことを考える必要があるかというメタ認知を得ることが最も重要
メタ認知を獲得するために最も効果・効率ともに高い方法は
考えて・書いて・動かして結果を確認するというフィードバックサイクルをとにかく繰り返し回すこと
初心者は上記のサイクルが回しやすい言語から始めると後々の成長が早い
C/C++/Rustはサイクルを回すために越えなければならないハードルが相対的に高いため
現代では初心者向け言語ではない
243デフォルトの名無しさん
2022/05/21(土) 14:57:49.13ID:7TYnpeBW244デフォルトの名無しさん
2022/05/21(土) 15:08:42.12ID:d40Kl4Hf 意訳:
ぼくちゃんがかいたさいきょうのコードをひはんしないでくだしゃい
ぼくのかんがえたやつがさいきょうなんでしゅから
ぼくちゃんがかいたさいきょうのコードをひはんしないでくだしゃい
ぼくのかんがえたやつがさいきょうなんでしゅから
245デフォルトの名無しさん
2022/05/21(土) 15:15:12.95ID:terB7Bhw なでしこ(プログラミング言語)も使ってあげて、、
246デフォルトの名無しさん
2022/05/21(土) 15:15:33.24ID:lzMNCHOR お前ら>>205みたいなのにも反応してやれよ
247デフォルトの名無しさん
2022/05/21(土) 15:46:51.93ID:zcBlczkH >>246
前スレがいしゅつ
前スレがいしゅつ
248デフォルトの名無しさん
2022/05/21(土) 16:45:07.99ID:dBYh2+4n >>218
そのかかれてるC++入門本のタイトルあげてみろ
そのかかれてるC++入門本のタイトルあげてみろ
249デフォルトの名無しさん
2022/05/21(土) 16:48:39.25ID:dBYh2+4n250デフォルトの名無しさん
2022/05/21(土) 16:54:22.75ID:dBYh2+4n お前ら新しい言語勉強する時に本読まないの?
たいていの本には想定する読者ってのが最初のほうに書いているだろ。
現在出版されてるRustの本で他の言語全く使った事ない読者を想定してる本はあるのか?
たいていの本には想定する読者ってのが最初のほうに書いているだろ。
現在出版されてるRustの本で他の言語全く使った事ない読者を想定してる本はあるのか?
251デフォルトの名無しさん
2022/05/21(土) 17:14:51.81ID:is6KmnjI >>246
Tauriではなくweb-view crateがシンプルで良いと思う
Tauriではなくweb-view crateがシンプルで良いと思う
252デフォルトの名無しさん
2022/05/21(土) 17:17:44.98ID:is6KmnjI253デフォルトの名無しさん
2022/05/21(土) 17:21:24.15ID:7bviEaCH おれは基本は本を読む派だけど、読まない派のほうが多そう
254デフォルトの名無しさん
2022/05/21(土) 17:23:04.81ID:mDh+ij7H 昔は本買うか図書館行くかしかなかったもんね
二十年くらい前からこっちはもう本イランけど
ネットで見れるでしょ何もかも
二十年くらい前からこっちはもう本イランけど
ネットで見れるでしょ何もかも
255デフォルトの名無しさん
2022/05/21(土) 17:26:29.76ID:ImS18vsK 最近はもっぱら言語公式のチュートリアル。Rustだと「the book」
256はちみつ餃子 ◆8X2XSCHEME
2022/05/21(土) 17:33:54.80ID:JD6rd3hb257デフォルトの名無しさん
2022/05/21(土) 17:59:31.75ID:WnQbOX9f 確かにこのスレではよく見る
>>112,113
>>112,113
258デフォルトの名無しさん
2022/05/21(土) 18:16:32.63ID:5PeJx3n4 複オジは本を読まないのが原因とは違うと思うぞ
本を読んでも自分勝手な理屈を脳内補完してそれが正しいと思い込むタイプ
本を読んでも自分勝手な理屈を脳内補完してそれが正しいと思い込むタイプ
259デフォルトの名無しさん
2022/05/21(土) 18:31:09.43ID:Uoz2jgaJ260デフォルトの名無しさん
2022/05/21(土) 18:55:12.40ID:is6KmnjI >>259
web-view crateは非常にシンプルで
最初のwebviewビルダーと
JavaScript側からのRustの呼び出しと
Rust側でJavaScriptの実行の三つだけをサポート
学習コストもほぼゼロ
だから更新するようなことがほとんど無い
それでも例えばHTMLのonclick等でRust側を呼び出せてRust側で処理してJSで反映ということが出来てうれしい
web-view crateは非常にシンプルで
最初のwebviewビルダーと
JavaScript側からのRustの呼び出しと
Rust側でJavaScriptの実行の三つだけをサポート
学習コストもほぼゼロ
だから更新するようなことがほとんど無い
それでも例えばHTMLのonclick等でRust側を呼び出せてRust側で処理してJSで反映ということが出来てうれしい
262デフォルトの名無しさん
2022/05/21(土) 19:12:43.38ID:is6KmnjI263デフォルトの名無しさん
2022/05/21(土) 19:21:14.01ID:v1GULhnc たしかに
「そういった人」への批判は意味がなくて、荒れるだけで、誰の役にも立たない
「そういった人」への批判は意味がなくて、荒れるだけで、誰の役にも立たない
264デフォルトの名無しさん
2022/05/21(土) 19:27:36.73ID:tJscH9kk 「そういった」がかかるのは「人」ではなく「批判」じゃないのかな
265デフォルトの名無しさん
2022/05/21(土) 19:30:02.17ID:gcU5DXZF 元のレスをもじっただけで
唐突に殴りかかってくる人には何を言っても無駄だよと諭してるだけでは
唐突に殴りかかってくる人には何を言っても無駄だよと諭してるだけでは
266デフォルトの名無しさん
2022/05/21(土) 19:32:49.23ID:VA28KJC+ 多くの人は良い人たちだが
残念ながらこのスレにも他人を叩いたり言いがかりを付けたりするのが好きなアレな人が紛れ込んでいる
残念ながらこのスレにも他人を叩いたり言いがかりを付けたりするのが好きなアレな人が紛れ込んでいる
267デフォルトの名無しさん
2022/05/21(土) 19:43:36.19ID:7bviEaCH そういうのは反応を見て楽しもうとしてるだけだろうから、無視するしかない
268デフォルトの名無しさん
2022/05/21(土) 21:18:46.48ID:3ug0n3Zl >>260
tauriも同じようなもんじゃないの?
tauriも同じようなもんじゃないの?
269デフォルトの名無しさん
2022/05/21(土) 23:40:28.85ID:GKlgLxBR 今流行のアプリをweb-viewのテストで作ってみたがこんな感じなのか
const HTML: &str = r#"
なぜかHTML部分はセキュリティうんぬん言われて貼れないので略
"#;
fn main() {
struct Fibonacci { index: usize, cur: usize, pre: usize }
let fibonacci = std::sync::Mutex::new(Fibonacci { index: 0, cur: 0, pre: 1 });
let webview = web_view::builder()
.content(web_view::Content::Html(HTML))
.invoke_handler(|webview, arg| {
match arg {
"next" => {
let mut f = fibonacci.lock().unwrap();
(f.index, f.cur, f.pre) = (f.index + 1, f.cur + f.pre, f.cur);
webview.eval(&format!("show({}, {})", f.index, f.cur))?;
},
"exit" => webview.exit(),
_ => unimplemented!(),
};
Ok(())
})
.user_data(()).build().unwrap().run().unwrap();
}
const HTML: &str = r#"
なぜかHTML部分はセキュリティうんぬん言われて貼れないので略
"#;
fn main() {
struct Fibonacci { index: usize, cur: usize, pre: usize }
let fibonacci = std::sync::Mutex::new(Fibonacci { index: 0, cur: 0, pre: 1 });
let webview = web_view::builder()
.content(web_view::Content::Html(HTML))
.invoke_handler(|webview, arg| {
match arg {
"next" => {
let mut f = fibonacci.lock().unwrap();
(f.index, f.cur, f.pre) = (f.index + 1, f.cur + f.pre, f.cur);
webview.eval(&format!("show({}, {})", f.index, f.cur))?;
},
"exit" => webview.exit(),
_ => unimplemented!(),
};
Ok(())
})
.user_data(()).build().unwrap().run().unwrap();
}
270デフォルトの名無しさん
2022/05/22(日) 13:23:37.89ID:kzep88by MozilaはFirefoxを丸ごとRustに書き換える予定はあるん?
今はまだ一部だけだよねRustになってるの
今はまだ一部だけだよねRustになってるの
271デフォルトの名無しさん
2022/05/22(日) 14:00:05.26ID:IGyJdnKj >>270
そうなの?
そうなの?
272デフォルトの名無しさん
2022/05/22(日) 14:06:50.95ID:1cbV2u9G FirefoxはレンダリングエンジンをRustでゼロから作ってるんじゃないの?
273デフォルトの名無しさん
2022/05/22(日) 14:11:38.83ID:s/f+VQic274デフォルトの名無しさん
2022/05/22(日) 14:14:17.72ID:pc68DccV servoはまだ実験段階だったと思う
275デフォルトの名無しさん
2022/05/22(日) 14:54:56.44ID:kzep88by >>273
ありがとう~
ありがとう~
276デフォルトの名無しさん
2022/05/22(日) 15:29:45.38ID:srSb/t9O >>270
特にそういう予定はないと思う
servo自体も別に次世代Firefoxを目指してるとかではなく、Rustでwebブラウザを書く実験プロジェクトという感じ
その実験でうまく行ったコンポーネントを徐々にFirefoxに移植していっている
特にそういう予定はないと思う
servo自体も別に次世代Firefoxを目指してるとかではなく、Rustでwebブラウザを書く実験プロジェクトという感じ
その実験でうまく行ったコンポーネントを徐々にFirefoxに移植していっている
277デフォルトの名無しさん
2022/05/22(日) 15:57:34.13ID:pc68DccV アプローチとしては正しい姿なんだろうな
278デフォルトの名無しさん
2022/05/22(日) 17:29:35.11ID:1mUE50i3 暇を持て余した神々の遊び
servoと言うよりモンスターエンジンだね…
servoと言うよりモンスターエンジンだね…
279デフォルトの名無しさん
2022/05/22(日) 17:37:14.17ID:7nmc6Bff >>270
C++で書かれてる部分は置き換えられるかも知れないけどJSで書かれてる部分までは置き換えしないんでないかな
C++で書かれてる部分は置き換えられるかも知れないけどJSで書かれてる部分までは置き換えしないんでないかな
280デフォルトの名無しさん
2022/05/22(日) 19:19:39.37ID:9fWZc0TE JSとか言ってるのは君だけだと思うよ
281デフォルトの名無しさん
2022/05/22(日) 19:22:44.24ID:7nmc6Bff >>280
FirefoxではC++と同じくらいJS使われてるよ
https://www.openhub.net/p/firefox/analyses/latest/languages_summary
FirefoxではC++と同じくらいJS使われてるよ
https://www.openhub.net/p/firefox/analyses/latest/languages_summary
282デフォルトの名無しさん
2022/05/22(日) 19:25:56.61ID:nrxT1a+p JSの部分を置き換えるなんてはなから誰も思ってないってことだと思うが
283デフォルトの名無しさん
2022/05/22(日) 19:26:01.69ID:LKVhbTwj 意訳すると「JSで書かれてる部分まで置き換えるとか言ってるのは君だけだと思うよ」かな?
言ってないね
言ってないね
284デフォルトの名無しさん
2022/05/22(日) 19:29:03.65ID:7TIjBb30285デフォルトの名無しさん
2022/05/22(日) 19:33:12.87ID:LKVhbTwj286デフォルトの名無しさん
2022/05/22(日) 19:46:00.83ID:u+qheqhP287デフォルトの名無しさん
2022/05/22(日) 19:56:58.26ID:nleMAmaj >>270 が「Firefox を "丸ごと" 書き換える」と言っていたので全部はRustにならないよと伝えたんだけどなんかお気に召さなかった?
288デフォルトの名無しさん
2022/05/22(日) 20:16:58.99ID:KMOjS2oh289デフォルトの名無しさん
2022/05/22(日) 20:17:09.14ID:M3jNarf6 そうだね、そんなふうに言われたらシェルスクリプトやMakefileまでrustで置き換えるんじゃないかって思っちゃうよね。
馬鹿なん?
馬鹿なん?
290デフォルトの名無しさん
2022/05/22(日) 20:36:16.46ID:7nmc6Bff FirefoxはXULのイメージがあってJSも主要な構成要素だと思ってたから変なレスつけちゃったね
皆さんの機嫌害しちゃって申し訳ない
皆さんの機嫌害しちゃって申し訳ない
291デフォルトの名無しさん
2022/05/22(日) 20:54:23.92ID:KMOjS2oh292デフォルトの名無しさん
2022/05/22(日) 22:32:56.13ID:7nmc6Bff293デフォルトの名無しさん
2022/05/23(月) 01:12:40.07ID:436cwmll >>290
ほんと反省しろよ
ほんと反省しろよ
294デフォルトの名無しさん
2022/05/23(月) 02:27:31.54ID:n+tkR/ue 反省してま~す
295デフォルトの名無しさん
2022/05/23(月) 19:27:40.26ID:qJLEBqNZ >>189
おまえら全員そうだがフィボナッチ数列でusize固定はおかしいだろ
コード自体は問題ないが <T: Zero + One + CheckedAdd> を付けろ
あとは0と1をT::zero()とT::one()へ置き換えればi8型からBigUintまで何でも動作するようになる
https://play.rust-lang.org/?edition=2021&gist=929f3df48db39182558dfad6fe8d1cda
さらに今回はfrom_fn()利用をそのままsuccessors()利用へ変換できるので見やすくなる
fn fibonacci_iter<T: Zero + One + CheckedAdd>() -> impl Iterator<Item = T> {
let mut oq = Some(T::one());
iter::successors(Some(T::zero()), move |p| {
let q = oq.take()?;
oq = q.checked_add(p);
Some(q)
})
}
ちなみにCloneを要求しないためBigIntなどでも無駄なコスト増とならない
>>202
そのコードは暗黙のコピーが発生している
from_fn()使用版のコードはcurrがキャプチャ変数なので「let n = curr?;」でコピー発生
successors()使用版のコードはクロージャ引数「|&curr: &usize|」の「&」でコピー発生
usizeならば問題はないがBigIntなどでそのコードは動かないので劣る
おまえら全員そうだがフィボナッチ数列でusize固定はおかしいだろ
コード自体は問題ないが <T: Zero + One + CheckedAdd> を付けろ
あとは0と1をT::zero()とT::one()へ置き換えればi8型からBigUintまで何でも動作するようになる
https://play.rust-lang.org/?edition=2021&gist=929f3df48db39182558dfad6fe8d1cda
さらに今回はfrom_fn()利用をそのままsuccessors()利用へ変換できるので見やすくなる
fn fibonacci_iter<T: Zero + One + CheckedAdd>() -> impl Iterator<Item = T> {
let mut oq = Some(T::one());
iter::successors(Some(T::zero()), move |p| {
let q = oq.take()?;
oq = q.checked_add(p);
Some(q)
})
}
ちなみにCloneを要求しないためBigIntなどでも無駄なコスト増とならない
>>202
そのコードは暗黙のコピーが発生している
from_fn()使用版のコードはcurrがキャプチャ変数なので「let n = curr?;」でコピー発生
successors()使用版のコードはクロージャ引数「|&curr: &usize|」の「&」でコピー発生
usizeならば問題はないがBigIntなどでそのコードは動かないので劣る
296デフォルトの名無しさん
2022/05/23(月) 19:52:54.51ID:aUQlcplw 暗黙のコピー発生って気にするべき?
!Copyならコンパイルエラーになるしこれまで気にしたことなかった
あとcurrはmoveでキャプチャされるからcurr?で発生するのはmove(とそれに伴うmemcpy)だけど、moveのコストも気にすべき?
!Copyならコンパイルエラーになるしこれまで気にしたことなかった
あとcurrはmoveでキャプチャされるからcurr?で発生するのはmove(とそれに伴うmemcpy)だけど、moveのコストも気にすべき?
297デフォルトの名無しさん
2022/05/23(月) 20:00:24.28ID:pMTVA02Y >>296
それは逆
そのキャプチャされた変数はクロージャが呼ばれるたびに何度も使われる
つまりムーブされてはいけない、つまりムーブ禁止となる
したがって n = curr? で currの中身は nへムーブされずコピーとなる
それは逆
そのキャプチャされた変数はクロージャが呼ばれるたびに何度も使われる
つまりムーブされてはいけない、つまりムーブ禁止となる
したがって n = curr? で currの中身は nへムーブされずコピーとなる
298デフォルトの名無しさん
2022/05/23(月) 20:11:34.97ID:aUQlcplw299デフォルトの名無しさん
2022/05/23(月) 20:12:20.25ID:PbQSFqOo300デフォルトの名無しさん
2022/05/23(月) 20:19:20.85ID:aUQlcplw301デフォルトの名無しさん
2022/05/23(月) 20:27:05.01ID:PbQSFqOo302デフォルトの名無しさん
2022/05/23(月) 20:43:27.72ID:4RywOifH >>295
自分のレスに他人のふりしてレスするキチガイ汚コーダーこと複オジさんちぃーすっ
自分のレスに他人のふりしてレスするキチガイ汚コーダーこと複オジさんちぃーすっ
303デフォルトの名無しさん
2022/05/23(月) 20:49:26.67ID:iRCkPDCQ304デフォルトの名無しさん
2022/05/23(月) 21:10:50.44ID:aUQlcplw305デフォルトの名無しさん
2022/05/23(月) 21:18:12.89ID:gtDJ5U8B https://www.reddit.com/r/rust/comments/3wubj0/comment/cxzlvt4/
num_traitsによるジェネリクスは絶対の正解ではないから適当なところで諦めようね
num_traitsによるジェネリクスは絶対の正解ではないから適当なところで諦めようね
306デフォルトの名無しさん
2022/05/23(月) 21:23:42.08ID:iRCkPDCQ307デフォルトの名無しさん
2022/05/23(月) 21:33:03.23ID:9psioJ1p >>296
コピーもmoveも同じでそれがボトルネックかどうかが重要
数値プリミティブの場合はコピーを他の方法に変えたところでボトルネックが解消されることはまずないから気にする必要はない
BigUint前提ならVecと同じでmoveやクローンやのオーバーヘッドはそれなりに気にした方がいい
逆に現実的にはオーバーフロー考慮する必要がなくなるからCheckedAddが余計なオーバーヘッドになる
特性の違う物をジェネリック等でまとめたほうがいい場面なのかそれぞれ別の実装を用意したほうがいい場面なのか判断できることが大事
コピーもmoveも同じでそれがボトルネックかどうかが重要
数値プリミティブの場合はコピーを他の方法に変えたところでボトルネックが解消されることはまずないから気にする必要はない
BigUint前提ならVecと同じでmoveやクローンやのオーバーヘッドはそれなりに気にした方がいい
逆に現実的にはオーバーフロー考慮する必要がなくなるからCheckedAddが余計なオーバーヘッドになる
特性の違う物をジェネリック等でまとめたほうがいい場面なのかそれぞれ別の実装を用意したほうがいい場面なのか判断できることが大事
308デフォルトの名無しさん
2022/05/23(月) 21:43:43.53ID:Ayvhc9bp >>307
それは間違ってるぜ
BigUintのchecked_add()は常にSomeを返すためにチェックとSomeは消えてオーバーヘッドとならない
さらにRustのジェネリックは各型にmonomorphizationされるためジェネリックで書いてもプリミティブ型やBigUint型のコードはそれぞれに最適化される
それは間違ってるぜ
BigUintのchecked_add()は常にSomeを返すためにチェックとSomeは消えてオーバーヘッドとならない
さらにRustのジェネリックは各型にmonomorphizationされるためジェネリックで書いてもプリミティブ型やBigUint型のコードはそれぞれに最適化される
309デフォルトの名無しさん
2022/05/23(月) 22:04:52.01ID:gtDJ5U8B ヒント:
Ratio<T> where T: Integer + Clone + CheckedAdd + CheckedMulは>>295の条件を満たす
Ratio<T> where T: Integer + Clone + CheckedAdd + CheckedMulは>>295の条件を満たす
310デフォルトの名無しさん
2022/05/23(月) 22:25:54.83ID:xQdLaNrd fibonacci_iter::<Ratio<u8>>()すると
ちゃんと最後233で止まるのね
ジェネリック凄い
ちゃんと最後233で止まるのね
ジェネリック凄い
311デフォルトの名無しさん
2022/05/23(月) 22:34:47.31ID:gtDJ5U8B ククク……RatioのCheckedAddの実装を見ても果たして同じことが言えるかな
312デフォルトの名無しさん
2022/05/23(月) 22:37:22.49ID:HY9DKb05 汚染が始まった!
313デフォルトの名無しさん
2022/05/23(月) 22:55:06.68ID:GQTw0VDg >>311
たしかにRatioの実装が悪いな
まずAddと同様に
if self.denom == rhs.denom {の分岐をし
そして1の場合は
self.numberとrhs.numberでchecke_addするくらいはしないとな
たしかにRatioの実装が悪いな
まずAddと同様に
if self.denom == rhs.denom {の分岐をし
そして1の場合は
self.numberとrhs.numberでchecke_addするくらいはしないとな
314デフォルトの名無しさん
2022/05/23(月) 23:14:26.50ID:bbzZFnmN ジェネリックに書いてもRatio専用コードを書いても
どちらもRatioの実装を使わざるをえないのだから同じ結果となる
そしてRatio専用コードを書こうとしても外部からは工夫のしようがないため
ジェネリックからコンパイル時にモノモーフィゼーションされるコードと全く同じになる
どちらもRatioの実装を使わざるをえないのだから同じ結果となる
そしてRatio専用コードを書こうとしても外部からは工夫のしようがないため
ジェネリックからコンパイル時にモノモーフィゼーションされるコードと全く同じになる
315デフォルトの名無しさん
2022/05/23(月) 23:46:45.42ID:lhQpV8J5 このスレごちゃごちゃした書き込み多すぎ
316デフォルトの名無しさん
2022/05/24(火) 00:53:51.91ID:PPYrRT7r 各型を個別に確認しないと良いか悪いか判断できないならジェネリックにしちゃだめでしょ
317デフォルトの名無しさん
2022/05/24(火) 01:46:13.03ID:Y7WsYtba318デフォルトの名無しさん
2022/05/24(火) 07:59:54.71ID:fUfb5k5z >>307
>特性の違う物をジェネリック等でまとめたほうがいい場面なのかそれぞれ別の実装を用意したほうがいい場面なのか判断できることが大事
禿同だわ
コードパズルやってるやつにいつも感じる違和感の原因はこれだな
こういう能力って何て言うんだろ?
>特性の違う物をジェネリック等でまとめたほうがいい場面なのかそれぞれ別の実装を用意したほうがいい場面なのか判断できることが大事
禿同だわ
コードパズルやってるやつにいつも感じる違和感の原因はこれだな
こういう能力って何て言うんだろ?
319デフォルトの名無しさん
2022/05/24(火) 08:06:11.71ID:eTAydD0N320デフォルトの名無しさん
2022/05/24(火) 08:45:23.72ID:ie6AbIfB 男の人って気持ち悪い…
どうして少女をそんなに汚したがるの?
お母さんに悪いとわおもわないの?
どうして少女をそんなに汚したがるの?
お母さんに悪いとわおもわないの?
321デフォルトの名無しさん
2022/05/24(火) 08:52:13.15ID:anVhILE8322デフォルトの名無しさん
2022/05/24(火) 11:37:27.58ID:0VHIsXBI KISS原則だろ
323デフォルトの名無しさん
2022/05/24(火) 19:12:35.28ID:VR6742Ui324デフォルトの名無しさん
2022/05/24(火) 22:16:43.51ID:oAG0OLUi prev, currの状態管理だとcurrの値をprevに代入するのと戻り値として使うのと2箇所に必要になるからね
curr, nextで管理すればいい
curr, nextで管理すればいい
325デフォルトの名無しさん
2022/05/24(火) 22:24:27.19ID:LZzc/1GO326デフォルトの名無しさん
2022/05/24(火) 23:52:58.32ID:m/W944BH フィボナッチ数のような単純な問題でもプログラミングセンスに差が出るものなんだな
327デフォルトの名無しさん
2022/05/25(水) 09:34:10.65ID:veJPShsI328デフォルトの名無しさん
2022/05/25(水) 13:26:51.10ID:4b57184O Webシステム中心ならRustとRails どっちを中心に勉強すればいい?
どうせ仕事で使うのPHPとjsだけど
どうせ仕事で使うのPHPとjsだけど
329デフォルトの名無しさん
2022/05/25(水) 13:32:36.84ID:pqSOGvoX RustでETみたいなのって書けるん?
てかテンプレートはC++みたいに汎用性高いの?
それともC#みたいに適用範囲絞ってる?
てかテンプレートはC++みたいに汎用性高いの?
それともC#みたいに適用範囲絞ってる?
330はちみつ餃子 ◆8X2XSCHEME
2022/05/25(水) 13:40:48.57ID:9QZiEKx+ >>329
C++ で言うところのテンプレートは Rust には無いよ。 ジェネリクスは ML 風の型システムでやってる。
マクロは Lisp 風と言えると思うけどトークンが型付けされてるから Template Haskell とかのほうが近いかもしれない。
C++ で言うところのテンプレートは Rust には無いよ。 ジェネリクスは ML 風の型システムでやってる。
マクロは Lisp 風と言えると思うけどトークンが型付けされてるから Template Haskell とかのほうが近いかもしれない。
331デフォルトの名無しさん
2022/05/25(水) 20:05:45.57ID:G6RbJxKu なんだじゃあRustだめじゃん。
332デフォルトの名無しさん
2022/05/25(水) 20:20:43.79ID:2d7iZvnp >>331
むしろC++のテンプレートよりもRustのの方がほとんどの利用方法で便利かつプログラミングしやすく快適になった
むしろC++のテンプレートよりもRustのの方がほとんどの利用方法で便利かつプログラミングしやすく快適になった
333デフォルトの名無しさん
2022/05/25(水) 20:47:56.26ID:L8VrP5Wq >>331
そうだよ。ダメだから君もRustは使わないほうがいい
そうだよ。ダメだから君もRustは使わないほうがいい
334デフォルトの名無しさん
2022/05/25(水) 21:47:24.60ID:pqSOGvoX 行列クラスを作って
X += A*(B+C)/D
みたいな演算子の多重定義して、すっきり1式で書くことできますか?
X += A*(B+C)/D
みたいな演算子の多重定義して、すっきり1式で書くことできますか?
335デフォルトの名無しさん
2022/05/25(水) 22:02:04.30ID:pqSOGvoX Matrix<Complex> X(2,2 );
Matrix<double> Y(2,2 );
Y << 1., 2.,
3., 5.;
X = (double)(Y^3);
みたいなことrustで書きたい
Matrix<double> Y(2,2 );
Y << 1., 2.,
3., 5.;
X = (double)(Y^3);
みたいなことrustで書きたい
336デフォルトの名無しさん
2022/05/25(水) 22:12:09.13ID:L8VrP5Wq >>335
もちろんできる
こういうのがほしいんでしょ
https://docs.rs/simple-matrix/latest/simple_matrix/
初心者の題材としては適切そうだから、自分で実装してみてはいかがか
もちろんできる
こういうのがほしいんでしょ
https://docs.rs/simple-matrix/latest/simple_matrix/
初心者の題材としては適切そうだから、自分で実装してみてはいかがか
337デフォルトの名無しさん
2022/05/25(水) 22:17:54.75ID:pqSOGvoX スマソ
X=(Complex)Y^3
だた
X=(Complex)Y^3
だた
338デフォルトの名無しさん
2022/05/25(水) 22:26:34.33ID:pqSOGvoX339デフォルトの名無しさん
2022/05/25(水) 22:36:32.50ID:9QZiEKx+ とりあえず一度は the book を読め。
根本的な言語デザインが違うからそこだけ抜き出して詳しい説明なんてできないよ
根本的な言語デザインが違うからそこだけ抜き出して詳しい説明なんてできないよ
340デフォルトの名無しさん
2022/05/26(木) 00:08:48.87ID:U/g7+l0+ rustてこんなコードも許すんだな
fn main() {
println!("Hello, world!");
main();
}
https://play.rust-lang.org/
でやってみるとスタック溢れて死んだけど一応実行できるのねww
fn main() {
println!("Hello, world!");
main();
}
https://play.rust-lang.org/
でやってみるとスタック溢れて死んだけど一応実行できるのねww
341デフォルトの名無しさん
2022/05/26(木) 07:58:26.46ID:a0cw3gsx そんなことで草生やすのはおそらくキミひとり
他の人らは真顔でキミの発言を見守ってるよ
他の人らは真顔でキミの発言を見守ってるよ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【サッカー】U-17日本代表、激闘PK戦制す 北朝鮮撃破で6大会ぶり8強入り U17W杯 [久太郎★]
- 「国民の憤りを引き起こした」中国側“高市首相発言の撤回改めて要求” [どどん★]
- 【インバウンド】中国からの“渡航自粛”…ツアー1000人分の直前キャンセル「キャンセル料は免除してくれ」 ことしいっぱいキャンセルに [1ゲットロボ★]
- 【芸能】日中関係悪化でエンタメ業界に大ダメージ… JO1の中国でのイベント中止、邦画は公開延期、STARTOアイドルへの影響も [冬月記者★]
- XやChatGPTで広範囲の通信障害 投稿や閲覧できず [蚤の市★]
- 【サッカー】日本代表、ボリビアに3発快勝 森保監督通算100試合目を飾る…鎌田、町野、中村がゴール [久太郎★]
