よく知らないけどRustにはそういう演算子(なり予約語なり)があるらしい?><
@lo48576 オレンジの主張とまったく違うじゃん><
@orange_in_space https://gist.github.com/orange-in-space/51a5ea3884bc0f001923b0a8a6734772#file-threewaycomparisonclass-cs-L22-L40
この部分と何が違うのかわからないんですが
(a.cmp(&b) は Ord::cmp(&a, &b) とも書けますが、そうすればもっと同じですよね)
@lo48576 ぜんぜん違うじゃん?><; それで言う所のOrd型(?)を返す演算子があったら便利だよね!>< って話を書いてるのに><
@orange_in_space なぜそうなっていないかというと、 PartialOrd (<https://doc.rust-lang.org/stable/std/cmp/trait.PartialOrd.html>) などの概念があり、「NaN と NaN を比較したときどうすんの」などの問題があるからだと思われます。
Nan <=> NaN は何を返すべきだと思いますか? Rust ではそういう面倒な問題はそもそもありません
@orange_in_space 「a<=>b の結果が OrderIs.LessThanRight であるとき以下略」と「Ord::cmp(&a, &b) の結果が Ordering::Less であるとき以下略」のどこが本質的に違うのかわからないんですが。
<=> 演算子がないと満足できないって話ですか?
@orange_in_space https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=b98a9997a731e9c00ff430ad53697111