.. _stdlib_apply: ======================== 应用反射模式 ======================== .. include:: detail/apply.rst apply 模块实现了`apply` 模式,即结构体和其他数据类型的静态反射调度。 所有函数和交易品种都在 `apply`模块中,使用 require 来访问它。 :: require daslib/apply +++++++++++ 调用宏 +++++++++++ .. _call-macro-apply-apply: .. das:attribute:: 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