問題タブ [scala-3]

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 投票する
1 に答える
1795 参照

scala - Scala 3.0 SDK を IntelliJ に追加する

現在、dotty コンパイラーは最初のリリース候補版をリリースしており、今後数か月以内にリリースされる予定です。IntelliJ scala プラグインを EarlyAccess に更新して Scala 3.0 で動作するようにしました。構文の強調表示の問題は解決されましたが、それでも IntelliSense に問題があり、提案は scala 2.13 API のみであり、Scala 3.0 API についてはわかりません。開発を困難にします。Scala 3.0 SDK を手動で追加しようとしましたが、受け入れられません (新しいバージョンのコンパイラ jar ファイル名が変更されたため)。

ここに画像の説明を入力

Scala 3.0 SDK を IntelliJ に追加する可能性はありますか?

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

scala - Scala3 のワイルドカード ベースの存在型

Scala 3のドキュメントに記載されているように、ワイルドカードで表現できない存在型は一般的に削除されます。ここに私のコードがあります

スカラ2

デモ

スカラ3

ワイルドカードを使用して Scala 3 で書き直そうとしています:

デモ

ドキュメントはまさにそれを言っています

ワイルドカードのみを使用して表現できる (forSome を除く) 存在型は引き続きサポートされますが、洗練された型として扱われます。

質問:私の例がうまくいかないのはなぜですか? それを機能させる方法はありますか?

0 投票する
1 に答える
136 参照

scala - Scala 3 (Dotty) の名前付きの given/using オブジェクトの構文

すぐに非推奨になるキーワードなしで、暗黙的に利用できる (つまり、構文で利用できる) 値への名前付き参照を提供する 1 行の方法はありますか? docsによると、次のように動作することが期待されます (SBT の下で、:usingimplicitscalaVersion := "3.0.0-M2"

しかし、これは失敗します

現在: これをさまざまな方法で回避できますが、ドキュメントが混乱している (または間違っている) か、かなり基本的なことを誤解しています。

回避策 1 (ここで提案されているとおり):

しかし、これを 2 つではなく 1 つの式で実行できるようにしたいと考えています。同じコメントが、最初に指定されたものを定義してから名前にバインドする場合にも当てはまります。

implicitly特に、3.1 で非推奨になり、3.2 でなくなると思うので。

これを回避するために、指定されたオブジェクトの呼び出しを関数でラップすることもできます。

しかし、それは定型的なようです。