Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否可以使用XML语法通过Scala宏创建类的实例?_Xml_Scala_Macros - Fatal编程技术网

是否可以使用XML语法通过Scala宏创建类的实例?

是否可以使用XML语法通过Scala宏创建类的实例?,xml,scala,macros,Xml,Scala,Macros,Scala有强大的宏支持,但我从未使用过。我只是想知道是否可能:使用XML语法通过Scala宏创建类的实例 假设我定义了一个类: class User(name:String, age:Int) 然后我想以这种方式对其进行实例化: val user = macroHere(<User name="Freewind" age={100} />) val user=macroHere() 可能吗?是的,这是可能的。宏def将XML语法作为参数,然后在宏impl中,您将能够分解此语法

Scala有强大的宏支持,但我从未使用过。我只是想知道是否可能:使用XML语法通过Scala宏创建类的实例

假设我定义了一个类:

class User(name:String, age:Int)
然后我想以这种方式对其进行实例化:

val user = macroHere(<User name="Freewind" age={100} />)
val user=macroHere()

可能吗?

是的,这是可能的。宏def将XML语法作为参数,然后在宏impl中,您将能够分解此语法并相应地生成构造函数调用。这可能会有帮助。不幸的是,我没有时间提供端到端的解决方案,但我希望这些指针可能有用。