[過去ログ] Rust part24 (1002レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
132(1): デフォルトの名無しさん [sage] 2024/06/14(金) 19:04:14.04 ID:1kqNSQLr(1/2) AAS
ネットワーク対戦ゲームだと細工したパケット送ると
バッファーオーバーフローで云々とよくある
脆弱性になるじゃん
172(1): デフォルトの名無しさん [sage] 2024/06/16(日) 00:50:00.04 ID:+a7ueRP7(1) AAS
>>169スタック上への参照とヒープ上への参照をRustでは区別しない
ライフタイムさえ満たしていればどこを指していても区別なく参照を扱う
そのため、従来行われてきた「安全にヒープ上でに領域を確保してヒープ上への参照を返す」をしなくても
ライフタイムさえ満たしていればスタック上への参照を安全に渡したり返したり自由にできるようになった
そのため、従来はヒープ上に確保していていたケースがRustではスタック上に置くことができるようになり、その点でも高速化に寄与している
266: デフォルトの名無しさん [sage] 2024/06/20(木) 00:27:34.04 ID:AP0fcOd2(1) AAS
>>265奇数個はエラーってのはタプルの要素数2個の場合限定なので
もう少し一般化して使える方法がいいと思うよ
itertoolsはchunksとか他にも使えるやつがあるから用途に応じて使い分けてね
370: デフォルトの名無しさん [] 2024/06/25(火) 22:48:01.04 ID:3rDdWdgz(1) AAS
Erlang使ってて良かったと思った
451: デフォルトの名無しさん [] 2024/06/28(金) 20:36:15.04 ID:v8X9ZSBd(3/3) AAS
んー…。
おっさん的には関数単位でテスト出来るかどうかが問題であって、プロトタイプは動的か静的かの問題じゃない気がするな。
最近は静的型言語でもインタラクティブシェル(略語忘れた)のインタプリタで関数単位でプロトタイプ作ってテストして、上手くいけばビルドって流れだし。
そういうのが無い言語は今でもプロトタイプは動的言語で作って…ないわw
場合によるな。
すでに作り方を知ってたらいきなり静的型言語で書くし、何か思いついたけど確信が持てない。みたいな時(試行錯誤が予想される)は動的型言語でプロトタイプ書いてるかな。
(静的型言語にインタラクティブシェルが無い時)
538(1): デフォルトの名無しさん [sage] 2024/07/01(月) 14:22:14.04 ID:seu0xN2c(1/2) AAS
Resultを返すか返さないか関係なくこれは常に成り立つね
>>534534(3): デフォルトの名無しさん [sage] 2024/07/01(月) 12:59:53.25 ID:irzLgX5l(1) AAS
>>525
こう書くとresultがErrの時に返せずここでpanicになってしまう
let val = result.unwrap();
f(val)
そのためpanicしてもいいとか絶対にErrとならない特殊な場合を除けば
unwrapを用いてはダメでmapを使ってこのように書くんだよ
result.map(|val| f(val))
ここで本当に関数fを呼ぶだけならresult.map(f)と簡略化できるけど
f(val)の部分は式やブロックの可能性もあるので簡略化せずに進めるね
これは以下と同等でErr(err)の時に保持してくれている
match result {
Ok(val) => Ok(f(val)),
Err(err) => Err(err),
}
ちなみにf(val)もResultを返すときは
mapの代わりにand_thenがある
result.and_then(|val| f(val))
つまり以下の二つは同等
result.map(|val| f(val))
result.and_then(|val| Ok(f(val)))
この場合はもちろん簡素なmapを用いるべき
> 以下の二つは同等
> result.map(|val| f(val))
> result.and_then(|val| Ok(f(val)))
例えばf(val)がOptionを返したとしても成立するよ
548: デフォルトの名無しさん [sage] 2024/07/01(月) 15:56:35.04 ID:iVgAAf6K(1) AAS
rustもprint時のstring interpolationはもう少しどうにかならんものかね
606: デフォルトの名無しさん [] 2024/07/07(日) 08:48:31.04 ID:5sr/rOi5(1) AAS
>>603603(1): デフォルトの名無しさん [] 2024/07/06(土) 22:35:00.58 ID:KApGuCzH(1) AAS
Rust触ってないから分らんけど、QtのRustラッパーライブラリは無いのん?
一応Android/iOS含めたソースコードレベルでのマルチプラットフォームライブラリに進化しているらしいが、Haskellにすらラッパーライブラリあるんなら、Rustにも探せばあるんじゃ?
ないわけじゃないけどまともに使えるレベルではないらしい。使ってないから知らんけど。
Qt自体QMLとか迷走してる感じあるし結局JSでやるならもうReact使えばいいんじゃね?感ある
729(2): デフォルトの名無しさん [sage] 2024/07/10(水) 18:28:13.04 ID:/bwWoePd(1) AAS
>>728728(1): デフォルトの名無しさん [sage] 2024/07/10(水) 16:42:16.40 ID:aw6hROvm(1) AAS
>>712
>例外で値をキャッチできなくなることや値を返す抜け道になることを防ぐためだ
違うよ
勝手な想像でLSPを誤解釈しないで
substituteされる型Tに対して定義された仕様上(契約上)の振る舞いを
substituteする型Sが満たしてなければLSP違反
つまり仕様上panicを禁止したトレイトの関数を
panicする関数でimplしたらLSP違反
LSPではあくまで”仕様上定義された振る舞い”が問題
panicを禁止という概念も方法もなく不可能だよ
何をしたいの?
744(1): デフォルトの名無しさん [sage] 2024/07/11(木) 03:34:06.04 ID:huEwUyFV(1) AAS
それはたぶんDじゃなくてIかな……
746: デフォルトの名無しさん [sage] 2024/07/11(木) 11:33:08.04 ID:gcQpVY2c(1/2) AAS
>>744
DもIも両方関係あるよ
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.050s