[過去ログ] Rust part24 (1002レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
673(2): デフォルトの名無しさん [sage] 2024/07/09(火) 12:57:46.02 ID:aoAam1/W(1/5) AAS
>>672672(1): デフォルトの名無しさん [sage] 2024/07/09(火) 12:39:43.65 ID:YflJELWV(1/6) AAS
>>668
φ(x) を型 T のオブジェクト x に関して証明可能な性質とする。このとき、φ(y) は型 T のサブタイプ S のオブジェクト y について真でなければならない。
φは主に事前条件・事後条件・不変条件で、言語によっては例外条件も入ってくる。
この観点からはRustのTraitは力不足。なんでLSPを引き合いに出せるのかわからん。
自分でそれを書いておいて理解できていないのかよ
そこに明記されてるようにTもSもオブジェクトを持つ具体型についての話だ
Rustのtraitは具体型ではないため関係ないぞ
そしてtraitを実装する各型の間にはサブタイプの関係はないためそこも対象とならない
そこを理解できずに「RustのTraitは力不足」とデタラメを吹聴するのは恥ずかしい
675(1): デフォルトの名無しさん [sage] 2024/07/09(火) 13:20:56.23 ID:aoAam1/W(2/5) AAS
>>674φ(x) のxはオブジェクトと明記されてるのが見えないのかね
さらにSはTのサブタイプと明記されている
Rustのtrait自体はオブジェクトを持たない
さらにtraitを実装する二つの型同士にサブタイプの関係は生じない
つまり対象外でφが存在しないため事前条件も何もない
679(2): デフォルトの名無しさん [sage] 2024/07/09(火) 15:20:15.91 ID:aoAam1/W(3/5) AAS
>>676676(1): デフォルトの名無しさん [sage] 2024/07/09(火) 13:35:41.29 ID:YflJELWV(3/6) AAS
>>675
>明記されてるのが見えないのかね
>Rustのtrait自体はオブジェクトを持たない
それは「RustのTraitはLSPと関係ない」と言いたいの?
>φが存在しないため事前条件も何もない
事前条件も何も表明できないのは「力不足」そのものですな。
LSPに明記されている前提すら満たさない異なるものであるため
「RustのTraitはLSPと関係ない」で合っている
LSPが対象としている遺物における諸問題に悩まされずに済むように
新たな視点で整理されたより良いものとしてRustのTraitが提供されている
680: デフォルトの名無しさん [sage] 2024/07/09(火) 15:28:08.29 ID:aoAam1/W(4/5) AAS
>>678LSPは具体型のみが対象
抽象型を対象にしようとしても適用するにはそのいずれかの具体型となる
689: デフォルトの名無しさん [sage] 2024/07/09(火) 22:50:55.17 ID:aoAam1/W(5/5) AAS
>>686686(1): デフォルトの名無しさん [sage] 2024/07/09(火) 22:08:43.14 ID:ZNKPIxXk(2/3) AAS
>>685
Rustに文句をつけたいとかではなく
>>660でLSPに言及された途端に実装継承とか言わなくなって「最初から自分はLSPを理由に継承のダメさを語ってましたけど」って態度でイキリ倒してるの(+結局理解してなさそうなの)がバカにされとるんやで
クラスは様々な問題点を抱えている
クラスでは実装継承となるため異なる型同士に不必要に過度な依存関係をもたらす硬直性も問題点の一つ
クラスはLSP(リスコフの置換原則)を満たさないプログラムが量産されてしまう問題点も別の一つ
どちらの問題点もRustならtraitを使うため問題が起きない
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.037s