問題タブ [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.

0 投票する
2 に答える
91 参照

scala - Scala で初期イニシャライザを使用せずにスーパークラス コンストラクタのパラメータを作成する方法

Scala 2.13 以降、早期初期化子は非推奨になりました。

(他のコンストラクター引数に基づいて) 計算され、完全にプライベートである必要があるスーパークラスに渡す値を作成するにはどうすればよいので、クラスの初期化では渡すことができませんか?

私が今日までに行ったことの例は次のとおりです。

(ソースコードを共有できないため、これは偽のクラス名を使用した単なるサンプルです)

特性を定義する場合、クラス コンストラクターで値を公開してオーバーライドせずに値をスーパークラスに渡す方法を知りません。

Dotty (Scala 3) では trait パラメーターが許可されていますが、Scala 2.13 では許可されていません。

解決策を知っている場合は、説明付きのスニペットを提供してください! ありがとう!

0 投票する
0 に答える
273 参照

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 について読み、それらの使用方法の例を探しましたが、うまくいきませんでした。私の簡単な例を考えると、最小値を見つける新しい方法は何ですか?指定されていない場合、以前の動作にデフォルト設定できないのはなぜですか?