首页 > 解决方案 > Julia - 用另一个函数增量修改一个函数

问题描述

我正在 Julia 中开发一个包。我想知道如何根据用户给出的参数逐步修改函数。例如,以绘图库为例。我将定义许多绘图函数,例如散点图、直方图等。现在,所有这些函数都可以通过一系列参数进行扩充,例如“颜色”、“线宽”、“绘图大小”等。

现在,我想做的是这样的:根据用户传递的参数,应该相应地修改原始绘图函数:

# Original function
function StdPlot(x,y)
   draw(axis1 = x, axis2 = y)
end

if "color" in kwargs
   @add_color(StdPlot)
end

然后,@add_color 宏会将原始函数修改为:

@add_color(StdPlot):
   x_mod = [x,colorx]
   y_mod = [y,colory]
   draw(axis=x_mod,axis=y_mod)

标签: functionjuliametacode-reuse

解决方案


推荐阅读