25. 应用反射模式

apply 模块实现了`apply` 模式,即结构体和其他数据类型的静态反射调度。

所有函数和交易品种都在 `apply`模块中,使用 require 来访问它。

require daslib/apply

25.1. 调用宏

apply

此宏实现 apply() 模式。这个想法是,对于结构、变体或 Tuples 中的每个条目,都将调用块。元素名称和元素值都传递给块。 例如

struct Bar

x, y : float

apply([[Bar x=1.,y=2.]]) <| $ ( name:string; field )

print(“{name} = {field} “)

Would print x = 1.0 y = 2.0