我可以使用宏动态添加类字段吗?

时间:2015-04-26 03:34:09

标签: scala scala-macros

我是Scala宏的新手,很抱歉,如果这是一个明显的问题。

我想知道在深入挖掘之前是否还有以下几点。

我们说我有一个名为DynamicProperties

的班级

是否可以根据此类内容向该类添加成员?

val x: DynamicProperties = ...
x.addProperty("foo", 1) 
x.addProperty("bar", true)
x.addProperty("baz", "yep")

并将它以某种方式翻译成一个或多或少看起来像这样的类?

class SomeName extends DynamicProperties { 
   val foo: Int = 1
   val bar: Boolean = true
   val baz: String: yep
}

我想这可以通过反思来完成,但我希望使用此功能的用户在键入x.后使用addProperty方法填写<td class="img"><xsl:value-of select="Image" /></td> $start = strpos($html, '<td class="img">') + 16; // we are going to start getting from <td class="img"> $length = strpos($html, '"></td>') - $start; $src = substr($html, $start, $length); echo $src; 时自动完成。这可能使用Scala marcos吗?我想尝试实现它,但是知道这是否会走向死路径将会很好。

0 个答案:

没有答案