什么是多重调度?在Julia中如何使用它?

log*_*ick 0 julia

我已经多次听到并听到Julia允许“多次派发”,但是我不确定这意味着什么或看起来像什么。谁能提供给我一个程序化外观及其启用功能的示例吗?

log*_*ick 5

来自Julia文档

应用功能时选择执行哪种方法称为调度。Julia允许调度过程根据给定参数的数量以及所有函数参数的类型来选择要调用函数的方法。这与传统的面向对象的语言不同,传统的面向对象的语言仅基于第一个参数进行分派,该参数通常具有特殊的参数语法,有时是隐式的,而不是显式地编写为参数。1个使用函数的所有参数来选择应调用哪个方法而不是仅调用第一个方法,称为多重调度。多重分派对于数学代码特别有用,因为在数学代码中,人为地认为运算“归属”于一个参数比其他任何参数都没有意义:x + y中的加法运算与x相比,是否属于x多? ??数学运算符的实现通常取决于其所有参数的类型。但是,即使超出数学运算范围,多次派遣最终仍是构造和组织程序的强大而便捷的范例。

简而言之:其他语言依靠方法的第一个参数来确定应调用哪种方法,而在Julia中,要考虑多个参数。这样可以启用具有相同初始参数的相似功能的多个定义。

在朱莉娅多分派的一个简单的例子可以发现在这里

  • 我还建议您观看此视频https://www.youtube.com/watch?v=kc9HwsxE1OY对话从2.25开始 (6认同)