1
私はJava 8の文法を扱っています。具体的には、it
がIterator
の場合には、it.hasNext()
というメソッド呼び出しの出現箇所を探したいと思います。具体的な構文マッチングにおける補間
これは動作します:
visit(unit) {
case (MethodInvocation)`it . <TypeArguments? ta> hasNext()`: {
println("found");
}
}
は、理想的には私がいないだけでit
、任意の識別子と一致したいと思います。
だから私はコンパイルが、一致しない文字列の補間を、使用してみました:
str iteratorId = "it";
visit(unit) {
case (MethodInvocation)`$iteratorId$ . <TypeArguments? ta> hasNext()`: {
println("achei");
}
}
私もパターン変数の使用を含むいくつかの他の方法を、試してみました(docsに見られるように)が、私は得ることができませんこれはうまくいく。
この種のマッチングはラスカルで可能ですか?はいの場合、どうすればいいですか?
答えは、特に私は見ていないあなたが使用している文法、に依存するが、具体的な構文フラグメントで一般的にこの表記法は、プレースホルダのために使用されている