switch (a <=> b){ case (OrderIs.LessThanRight) { //以下略みたいに書けるようにしたいって言ってる><(この場合<=>が返すのはOrderIs型><)
よく知らないけどRustにはそういう演算子(なり予約語なり)があるらしい?><
@orange_in_space https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=b98a9997a731e9c00ff430ad53697111
@lo48576 オレンジの主張とまったく違うじゃん><
@orange_in_space ?
@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 ではそういう面倒な問題はそもそもありません
思考の /dev/null
@orange_in_space なぜそうなっていないかというと、 PartialOrd (<https://doc.rust-lang.org/stable/std/cmp/trait.PartialOrd.html>) などの概念があり、「NaN と NaN を比較したときどうすんの」などの問題があるからだと思われます。
Nan <=> NaN は何を返すべきだと思いますか? Rust ではそういう面倒な問題はそもそもありません