問題タブ [scalac]

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 に答える
2258 参照

scala - 「発散する暗黙的な展開」の暗黙的なもののみをログに記録する

他の回答は"-Xlog-implicits"、「発散する暗黙的な展開」エラーをデバッグするためのオプションを使用することを提案しています。ただし、これらのエラーとは関係のない場所に多くの暗黙のログも記録します。コンパイルエラーが発生する場所のみを説明するように制限する方法はありますか?

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

scala - パッケージ x のクラス SomeClass は com.ayx でアクセスできません

Spring IoC のいくつかの Java クラスを un-un-Scala コードに直接ロードしようとしています。当然、次のようなパッケージ間に名前空間の競合があることがわかりました

次のようなインポート名前空間リゾルバーを使用してみました

これによりインポートがクリーンアップされますが、クラスの後半でこれらのクラスを参照すると、Typesafe ScalaIDE でホバーとしてエラーが表示され、クリーン コンパイル後にエラーが表示されます。

gradle scala プラグインからコンパイルするか、scala 2.10.2 または 2.10.3 で Typesafe ScalaIDE を介してコンパイルすると、次のような役に立たないエラー メッセージが表示されます。

名前空間の競合がない com.ayx のクラスを使用しようとすると、問題が発生します。いくつかの scalac フラグを試してみると、わずかに異なる警告を出力することもできました (typer 段階で):

最初のパッケージ参照を展開する方法があるかどうか知りたいです。scalac コンパイラーをデバッグするための Eclipse プロジェクトのセットアップに問題があり、エラーに有用な情報を追加する scalac フラグが見つかりません。

ctx.getBean("someClass").asInstanceOf[XXXSomeClass]またはを実行しようとすると、エラーが発生しますnew XXXSomeClass

警告からのthis参照により、オブジェクトの混乱が起こっていると思います。1 つの jar を削除するとインポートを解決できなくなるため、私が取り組んでいる大規模なプロジェクトではクラスパスの問題ではないと思いますが、別のプロジェクトの単純なサンプル クラスでは再現できません。

Java クラスに関するもう少し詳しい情報 - 競合する異なる Java パッケージは、Java の 1.6 フレーバーによってコンパイルされた個別の jar にあります。これらは最上位のパブリック クラスですが、2 つはプライベート コンストラクターと対応する public static getInstance() メソッドを持つシングルトンです。

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

sbt - SBT ビルドから発行された正確な scala コマンドを表示する

(比較的複雑な) SBT プロジェクトをローカル バージョンの Scala に対してビルドすると、次のエラーが発生します。

これは、scalacまたはビルドファイルのバグである可能性があります。scalacただし、直接呼び出している間、このエラーを再現できません。

これは期待どおりに実行されます。SBT がscalac発行する正確なコマンドを表示する方法はありますか? (正確なフラグを from からscalacOptionsto に渡してscalacもエラーにはならないことに注意してください)。

scalacOptionsは:

問題のリポジトリは、 Scala.js マスターscalajs-libraryのサブプロジェクトであり、現在のScala マスターのビルドは.scalaHome

このビルド用にプロジェクトを構成するには、次を発行します。

ルート プロジェクトで。

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

scala - Scala非決定的/キャッシュクラス?

私には非常に単純な目標があります。Scala クラスをコンパイルし、それを別の Scala スクリプト内からロードすることです。問題は、Scala が私が作成したクラスを (どこにあるかわからない) キャッシュしているように見え、その後の変更を尊重しないことです。

次の行は、2 つの .scala ファイルを含むディレクトリを作成し、1 つをコンパイルして、もう 1 つを実行します。

上記の行を実行する場合、以下の行を機能させるには、コンピューターを再起動する必要があります。

再起動しないと、コンストラクターに文字列がないというエラーが表示されます。以前の String ベースのコンストラクターをキャッシュしている Scala ランドの場所がわかりません。

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

scala - Scala: ファイルを #include する最も簡単な方法は何ですか?

Scala ソース ファイルにファイルを含める最も簡単な方法は何ですか?

Scala には、第一級のインポートとデポートがありません。パッケージ/プロジェクトの依存関係を準多重継承の形で構造化するのが好きです。私にとって、これはクリーンで効果的なデザインを作成するのに本当に役立ちます。C# の名前空間でも同じことをしました。残念ながら、C# も Scala の構文も、この方法論/戦略を実際にサポートしていません。

name1 名前空間が含まれなくなったため、各レベルを別々の行にインポートする必要があり、むしろ階層を弱体化させます。以前でも、パッケージは 1 つの親からしか継承できませんでした。現在のシステムは非常に非 DRY であり、常にインポートを繰り返しています。もちろん、IDE テンプレートを使用することもできますが、テンプレートはまだ DRY ではありません。私の見解では、複雑なテンプレート IDE は適切なソリューションではありません (たとえば、HTML / CSS)。これは、インポートリストがクラス定義よりも長いJavaFx / ScalaFxファイルで特に悪いと思います。したがって、最善の解決策は、すべての一般的なインポートを含む各パッケージのインクルード ファイルを作成してから

これを実現するには、コンパイラ プラグインを作成する必要がありますか?

それとも、この機能を満たすことができるものは他にありますか?

コンパイラ プラグインは、比較的小さくて簡単なプロジェクトにする必要がありますか?