gpt4 book ai didi

java - 我可以从 Groovy 调用 Scala 动态函数吗?

转载 作者:行者123 更新时间:2023-11-30 08:36:21 32 4
gpt4 key购买 nike

我正在用 Scala 编写 Gradle 插件。

为了允许我通过 Gradle DSL 配置插件和相关任务,我需要能够动态调用方法(即实际上不存在的方法)。如果我在 Groovy 中编写插件,我会使用 methodMissingpropertyMissing,如 here 所述.

在 Scala 中,我可以使用 dynamic member lookup 动态调用函数.这在从 Scala 代码调用函数时有效,但我似乎找不到从 Groovy 调用这些动态函数的方法(即当 Scala 插件用作另一个 Gradle 项目的一部分时)。

是否可以从 Groovy 中利用 Scala 的动态成员查找?还是这是死胡同?

最佳答案

刚找到我问题的答案。在 Scala 中,我需要实现相同的 methodMissingpropertyMissing 函数,如果我正在编写 Groovy 类并让 Scala 类扩展 GroovyObjectSupport(Gradle 集成需要)。

如果其他人试图做类似的事情,下面是您需要在 Scala 中实现的函数签名:

class Foo extends GroovyObjectSupport {
def methodMissing(m: String, arg: Any): Any = ???
def propertyMissing(p: String): Any = ???
def propertyMissing(p: String, v: Any): Any = ???
}

关于java - 我可以从 Groovy 调用 Scala 动态函数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37846933/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com