問題タブ [scala-quasiquotes]

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

scala - Quasiquotes を使用してパッケージを宣言する方法

準引用符を使用してパッケージ AST を生成しようとしています。次のようなパッケージパスをリストする文字列変数があります

val pkg = "database.dao"

quasi quote を使用すると、代わりにq"package $pkga が必要であることがわかりRefTreeます。しばらく検索してみましたが、文字列を変換する答えが見つかりませんRefTree

どうすればいいですか?

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

scala - 準引用符配列を挿入する方法

definitions準 quote に注入したいと呼ばれる準 quote の配列がありますtree。どうすればこれを行うことができますか?

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

scala-macros - 準引用符で cq を使用して一致したパターンを返す方法

case authorDao: AuthorDao => authorDaoDao 自体のサブクラスを返すようにこれを記述しようとしています。

この準引用を使用すると:

これを生成します

そして、私がこれを行うと

cases.append(cq"${q"$caseTerm: $daoType"} => $caseTerm")

それはこれを行います

どちらもコンパイルエラーを生成します

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

scala - 準引用符でコメントを追加する方法

そのような準引用符のクラスコメントを挿入しようとしています

しかし、例外をスローしています

0 投票する
0 に答える
526 参照

scala - Scala マクロ。文字列を準引用符で囲む

ケース クラス パラメータによってステートメントを生成しようとしています。

結果は INSERT INTO tableName(a, b) VALUES ('1', '2'); でなければなりません。

これは私のマクロです

私は例外を得ました:

この準引用符を使用すると、うまく機能します。

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

scala - quasioquote から暗黙のパラメーターを使用して関数を呼び出す

何らかの理由で、準引用符から暗黙的なパラメーターを使用して関数を呼び出そうとするたびに、失敗します Can't unquote x.universe.Tree, consider providing an implicit instance of Liftable[x.universe.Tree]

それの何がいけないの?私はそれをすることが許されていませんか?できないと書いてあるところがどこにも見つからなかった

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

scala - Scala Quasiquotes を使用して、既知のクラスから継承するクラスを生成する

これは、コードで説明する方が簡単です。私は次のようなことをしたい:

動的に生成されたクラスが、既知の/既にコンパイルされCたクラスからどのように継承されるかに注意してください。A

  1. について知っているツールボックスを使用する方法はありAますか?
  2. 動的に生成されたクラスを使用するにはどうすればよいですか?