問題タブ [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
ますか? インライン バージョンをコンパイルするにはどうすればよいですか? でできますかasInstanceOf
wrapped
明示的な型パラメーターなしで呼び出すために型を推測するscalaは何ですか?
scala - 既存の scala コンビネーター パーサーを探しています
scala コンビネーターを使用して作成されたパーサーを含むリポジトリはありますか? 私はscalaコンビネーターの使用を検討していますが、それは一般的な言語(python、c、java、cpp、scala、haskell)の既存のパーサーを見つけることに依存しています。