当前位置: 首页 > 知识库问答 >
问题:

如何在准引号中使用cq返回匹配的模式

冀景明
2023-03-14

我正试图写这个案例authorDao:authorDao=

当我使用这个准引语时:

val daoType = TypeName(daoName)
val caseTerm = TermName(daoName.toLowerCase)

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

它产生了这个

case (authordao @ ((_): AuthorDao)) => authordao

如果我这么做了

案例。追加(cq“${q”$caseTerm:$daoType”}=

它能做到这一点

case ((authordao): AuthorDao) => authordao

两者都会产生编译错误


共有1个答案

商飞龙
2023-03-14

通过谷歌搜索,我在这里找到了答案:

Scala多类型模式匹配

大体上

大小写作者:AuthorDo=

case authordao@authordao(u)=

最后的代码是这样的

      val daoTerm = TermName(daoName)
      val caseType = TypeName(daoName.toLowerCase())
      val caseExpr = TermName(daoName.toLowerCase)

      cases.append(cq"$caseType @ $daoTerm(_) => $caseExpr")

 类似资料:
  • 我想屏蔽掉敏感的信用卡详细信息。因此,尝试创建匹配器来查找: 有信用卡标签 然后我想替换找到的数字/值。到目前为止,我有:。这将匹配字符串。 我需要做什么更改才能使CVC或数字双引号内的数字匹配?

  • 问题内容: 首先,我经历了相关的问题..尚未找到任何答案..我正在使用此代码显示消息 我该如何做这项工作,因为此回声内的任何引号都会破坏该语句… 问题答案: 可以使用反斜杠对引号进行转义,也可以使用双引号来指定字符串。

  • 有四种不同的类型:地点、语言、技术和行业。每个类型都有一个存储库,可以返回这些类型的集合。例如位置列表。每个类型都有一个类型为String的name属性。有一个字符串列表。它可以包含位置、语言等名称。我想编写一个函数来查找那些与字符串列表名称匹配的类型实体(位置、语言、...)。我在想这样的事情: 这是不正确的,那么如何对集合进行查询,然后如何确定name属性是否存在呢?

  • 问题内容: 我已经在线阅读了文档和各种教程,但是我对regex在Java中的工作方式仍然感到困惑。我正在尝试做的是创建一个接受字符串类型参数的函数。然后,我想检查传递的字符串是否包含MDCLXVIivxlcdm以外的任何字符。因此,例如,字符串“ XMLVID​​”应返回false,而“ ABXMLVA”应返回true。 当我通过时,“ XMLIVD”,“ ABXMLVA”和“ XMLABCIX”

  • 有可能写这样的东西吗,或者我们必须回到Kotlin中的手动空检查?