問題タブ [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.
performance - 特定のシナリオでscalacが末尾再帰を最適化できないのはなぜですか?
scalac ( Scalaコンパイラ)が末尾再帰を最適化しないのはなぜですか?
これを示すコードとコンパイラの呼び出し:
java - スカラセッターメソッド「myvar_$eq(myval)」をJavaでより快適なものにエイリアスするにはどうすればよいですか?
私は最近、自分自身に言語を教えようとして、いくつかのコードをJavaからscalaに変換しています。
このscalaクラスがあるとします。
今、私はJavaからアクセスしたいので、scalaにいる場合のようにドット表記を使用することはできません。
したがって、次のように発行することで、変数の内容を取得できます。
次の方法で設定します。
これは、私たちのPersonクラスがjavapで次のように見えるために当てはまります。
はい、私は自分のゲッター/セッターを書くことができましたが、クラスをそれで満たすことは嫌いであり、すでにそれらを持っていることを考えるとあまり意味がありません-私は_$eqメソッドをより良くエイリアスしたいだけです。(これは、antlrのようなものを扱っている場合、実際にはさらに悪化します。これは、それをエスケープする必要があり、person.name _ \ $ eq( "newname");のようになってしまうためです。
注:クラスをより多くのセッターメソッドで満たすのではなく、これに我慢する必要があります。
では、この状況であなたはどうしますか?
java - vararg を使用するメソッドと使用しないメソッドの間で Scala で曖昧さを解消するにはどうすればよいですか
Scala の Java jcommander ライブラリを使用しようとしています。Java JCommander クラスには複数のコンストラクタがあります。
可変引数を取らない最初のコンストラクターを呼び出したいです。私は試した:
エラーが発生します:
名前付きパラメーターも使用してみましたが、同じ結果が得られました。
可変引数を取らないコンストラクターを呼び出したいことを Scala に伝えるにはどうすればよいですか?
Scala 2.8.0 を使用しています。
scala - FSC は毎回再コンパイルします
FSC は、必要がなくても毎回私の .scala ファイルを再コンパイルします。試行の間に何も編集せずに 2 回コンパイルでき、それらを再コンパイルします! たとえば、2つのファイルがあります
Hello.scala
そして Tokens.scala:
ant にプロジェクトを最初からコンパイルするように依頼すると、次の出力が表示されます。
私は何も編集せず、再度 ant コンパイルを依頼します。
ご覧のとおり、fsc は Hello.scala の場合はスマートに動作し (再コンパイルなし)、Tokens.scala の場合は愚かに動作します。問題は何らかの形で継承に関連していると思いますが、それだけです。
では、何が問題なのですか?
scala - Scala Fast Compilation サーバー (FSC) のタイムアウトをオフにするにはどうすればよいですか?
Scala コンパイル サーバーを使用しています。これはおそらく私の IDE IntelliJ IDEA とは関係ありませんが、その IDE で特別な実行構成を使用して Scala コンパイル サーバーを起動したことをお知らせします。
何もコンパイルせずにしばらくすると、コンパイル サーバーはメッセージなしで終了します。通常、何かをコンパイルしようとしてコンパイルが失敗したときにのみ、これに気付きます。次に、コンパイル サーバーを再度起動する必要があります。もちろん、次のコンパイルには長い時間がかかります。これは、コンパイル サーバーを起動してから最初のコンパイルであるためです。
そのタイムアウトをオフにするにはどうすればよいですか? scalac のマンページを見たところ、オプションがないようです。その実行構成に VM オプションを追加できます。
scala - scala コンパイラ フェーズの順序は?
scala コンパイルのフェーズのイメージを明確にしたいと思います。コンパイラで特定のことが発生する必要があることは知っていますが、それらが発生する順序と、その順序がプログラミングにどのように影響するかはよくわかりません。
次のことは、コンパイラが行うことの完全なリストであると言っているのは正しいですか?
- 解析プログラム
- タイプをチェック
- 消去する
- 暗黙の変換
- 生成されたバイトコード
- 最適化
もしそうなら、これらのフェーズを実行する順序は何ですか? この順序は、プログラマー、特に型レベルのプログラマーにどのように影響しますか?
scala - scalac プラグインを複数のファイルに分割する
scalac
プラグインを複数のファイルに分割したいと考えています。これは簡単に聞こえますが、行に起因するパス依存のタイプの問題により、うまくいきませんでしたimport global._
。
Lex Spoon のサンプル プラグインは次のとおりです。
スコープ内になくても、独自のファイルにComponent
どのように配置できますか?DivByZeroPhase
import global._
scala - 特定のフェーズの後に Scala コンパイルを停止する
次のようにインプロセスでプラグインを実行して、プラグインをテストしています。
ただし、速度が遅いscalac
ため、特定のフェーズの後 (具体的には、プラグインの実行後) にコンパイルを終了したいと考えています。残念ながらGlobal.cancel
、意図した効果はありません。どうすればこれを行うことができますか?
scala - 実行時の依存関係としてscala-compiler.jarを追加する
sbtとそのProguardプラグインを使用して、プログラムの実行可能jarを作成しています。scala-compiler.jar
ただし、私のプログラムは実行時にコンパイルを行うことに依存しています。scala-compiler.jar
私は私の最後の瓶に入ることができないようです。このページには非常によく似た情報がいくつかありますが、最初から最後まで機能させることができません。助言がありますか?
編集:これは私が得た最も近いものです:
これには、proguard min jar内のコンパイラjarが含まれますが、それを実行すると、次のようになります。
java - Java コードを解析する Scalac からの永久に隠された警告 - コンパイラのバグ?
scalac Java パーサーが私の Java コードに異議を唱えています
これは、コンパイルされているパッケージ内の同じ名前のインポートとクラスの間の衝突のようです。
私のパッケージにはクラスがあります
別のパッケージからインポートされたクラスと同じ名前を持つ
インポートについて不平を言っているところ。Javac はとても満足しています。クラスのバージョンを参照する必要がないことに注意してください。その存在だけで、インポート時に警告がトリガーされます。
インポートを削除して @Entity を明示的に参照することでこれを修正できますが、これはコンパイラのバグですか?