問題タブ [scala-compiler]
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 で型の不一致が解消されるのはなぜですか? パターン マッチの型パラメーターにアンダースコアを使用するのはなぜですか?
次のコード ブロック (scala2.11との両方2.12) では、メソッドapplyはコンパイルされませんが、コンパイルされますapplyInlined。
エラーメッセージは
- 私の主な質問は、なぜですか?これはバグですか?
ご覧のとおり、メソッドapplyInlinedの本体がインライン化されているという点だけが異なります。wrappedこれは、メソッド内の一部のコードの余分なラップが何らかの形でコンパイラを「だまして」動作させたことを意味します。
もう1つの質問は、共変にせずにこの種のことを回避する設計/ハックを考えてもらえ
Blarますか? インライン バージョンをコンパイルするにはどうすればよいですか? でできますかasInstanceOfwrapped明示的な型パラメーターなしで呼び出すために型を推測するscalaは何ですか?
scala - 既存の scala コンビネーター パーサーを探しています
scala コンビネーターを使用して作成されたパーサーを含むリポジトリはありますか? 私はscalaコンビネーターの使用を検討していますが、それは一般的な言語(python、c、java、cpp、scala、haskell)の既存のパーサーを見つけることに依存しています。