Groovy';scala中的s classX.metaClass.getProperty

Groovy';scala中的s classX.metaClass.getProperty,scala,groovy,dsl,metaclass,Scala,Groovy,Dsl,Metaclass,在scala中是否有与Groovy显著的SomeClass.metaClass.getProperty函数等价的东西?这将非常有助于创建特定于领域的语言。例如,我可以说:valx=SomeClass();x、 ArricryPropertyName而不是x.get(“ArricryPropertyName”)或x(“ArricryPropertyName”)根据您的描述,此功能听起来像Scala的动态。从 支持动态调用的标记特性。实例x trait allow为任意方法名meth和meth调用x

在scala中是否有与Groovy显著的SomeClass.metaClass.getProperty函数等价的东西?这将非常有助于创建特定于领域的语言。例如,我可以说:
valx=SomeClass();x、 ArricryPropertyName
而不是
x.get(“ArricryPropertyName”)
x(“ArricryPropertyName”)

根据您的描述,此功能听起来像Scala的
动态
。从

支持动态调用的标记特性。实例x trait allow为任意方法名meth和meth调用x.meth(args) 参数列表参数。如果x本机不支持某个调用,则它是 重写为x.applyDynamic(“meth”,args)

也就是说,如果您的类扩展了
Dynamic
,那么
x.arbiryPropertyName
形式的调用将被转换为
x.applyDynamic(“arbiryPropertyName”)
,当然您还需要定义
applyDynamic
的行为