問題タブ [scala-2.13]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
scala - Scala で初期イニシャライザを使用せずにスーパークラス コンストラクタのパラメータを作成する方法
Scala 2.13 以降、早期初期化子は非推奨になりました。
(他のコンストラクター引数に基づいて) 計算され、完全にプライベートである必要があるスーパークラスに渡す値を作成するにはどうすればよいので、クラスの初期化では渡すことができませんか?
私が今日までに行ったことの例は次のとおりです。
(ソースコードを共有できないため、これは偽のクラス名を使用した単なるサンプルです)
特性を定義する場合、クラス コンストラクターで値を公開してオーバーライドせずに値をスーパークラスに渡す方法を知りません。
Dotty (Scala 3) では trait パラメーターが許可されていますが、Scala 2.13 では許可されていません。
解決策を知っている場合は、説明付きのスニペットを提供してください! ありがとう!
scala - scala 2.13+でSeqの最小値を見つける方法
以前のバージョンの Scala では、最小値を取得するために次のようなことができました。
シンプルで分かりやすかったようです。Scala 2.13.1 では、次のエラーが発生します。
object DeprecatedFloatOrdering in object Ordering は非推奨です (2.13.0 以降): Float を注文する方法は複数あります (Ordering.Float.TotalOrdering、Ordering.Float.IeeeOrdering)。ローカル インポートを使用するか、暗黙的な val を割り当てるか、明示的に渡すことによって、1 つを指定します。詳細については、ドキュメントを参照してください。
Scala doc で TotalOrdering と IeeeOrdering について読み、それらの使用方法の例を探しましたが、うまくいきませんでした。私の簡単な例を考えると、最小値を見つける新しい方法は何ですか?指定されていない場合、以前の動作にデフォルト設定できないのはなぜですか?