gpt4 book ai didi

scala - Scala 中 Groovy 的 classX.metaClass.getProperty

转载 作者:行者123 更新时间:2023-12-04 17:39:12 24 4
gpt4 key购买 nike

在 Scala 中是否有任何与 Groovy 非凡的 SomeClass.metaClass.getProperty 函数等效的东西?这对于制作领域特定语言非常有帮助。例如,我可以说:val x = SomeClass(); x.arbitraryPropertyName而不是 x.get("arbitraryPropertyName")x("arbitraryPropertyName") .

最佳答案

根据您的描述,此功能听起来像 Scala 的 Dynamic .来自 Scaladoc ,

A marker trait that enables dynamic invocations. Instances x of this trait allow calls x.meth(args) for arbitrary method names meth and argument lists args. If a call is not natively supported by x, it is rewritten to x.applyDynamic("meth", args).



也就是说,如果您的类扩展 Dynamic ,然后调用形式 x.arbitraryPropertyName翻译成 x.applyDynamic("arbitraryPropertyName") ,当然你可以定义 applyDynamic 的行为.

关于scala - Scala 中 Groovy 的 classX.metaClass.getProperty,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8395002/

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