問題タブ [scalameta]
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.meta を使用して Binding.scala Vars でケース クラスを生成すると例外がスローされる
scala.js プロジェクトがあります。そこで、Scala.Meta と Binding.scala で奇妙な動作が発生します。
ケースクラスからケースクラスを作成したい:
次のように生成する必要があります。
があるとすぐにVars
、次のエラーが表示されます。
(たとえばSimpleCaseClassFormData(Var[Int], Var[String])
)なしで動作します。
ここにプロジェクト全体があります: scala-adapters-form
scala - ケースクラスのケースオブジェクトを自動生成
scala コンパイラーに case オブジェクトを自動的に生成させるにはどうすればよいですか?
ケース オブジェクトに必要なプロパティ
- の属性ごとに、 の
case class
属性を生成します。case object
- 対応する各ケース オブジェクトの値を属性名の文字列表現に設定し、オブジェクト属性名の場合は に変更
camelCase
し、オブジェクト属性値の場合snake_case
は保持しますsnake_case
scala - AST が表す値の型をどのように取得しますか?
私は次のように書こうとしています:
value
ASTで表される値の型をキャプチャして、tpe
に割り当てる必要がありU
ます。どうやってこれを行うのですか?
編集:型注釈を付けvalue
て準引用符で照合することは、ここではオプションではありません。ユースケースは、 のような複雑な型を持つ Shapeless の拡張可能なレコードです。また、AST はプログラムによって生成され、リテラルではありません。String with labelled.KeyTag[1, String] :: Long with labelled.KeyTag[three, Long] :: HNil
val ls = (1 ->> "two") :: ("three" ->> 4L) :: HNil
value