我正在尝试 Julia 语言(来自 Python 背景),并且对解决使用 Python 中的对象解决的问题的最自然方法感兴趣。
基本上,我正在尝试编写一个函数,该函数将评估一些简单的一维数学基础,然后将它们组合起来近似一个多维函数。在 Python 中,我会写一些类似的东西
basis_1d_values = scheme_1d.evaluate(points)
对于我的每个scheme_1d对象。我会使用父 Scheme1d 类,然后有各种类型的一维方案(线性、切比雪夫多项式等)的子类,它们知道如何运行它们单独的“评估”函数。
在 Julia 中最自然的方法是什么?显然是一个很长的 if 语句
if scheme_1d_type == "linear"
basis_1d_values = evaluate_linear(scheme_1d, points)
elif scheme_1d_type == "chebyshev"
basis_1d_values = evaluate_chebyshev(scheme_1d, points)
elif ...
...
end
Run Code Online (Sandbox Code Playgroud)
会工作,但它非常笨重,因为每次子类的行为不同时我都需要使用这些分支 if 语句和单独的函数(并且在我以某种方式更新代码时必须跟踪每个 if 语句)。任何建议将不胜感激。
谢谢!