什么是多重分派,在Julia中如何使用它?

什么是多重分派,在Julia中如何使用它?,julia,Julia,我已经看到和听到很多次朱莉娅允许“多次发送”,但我不确定这意味着什么或看起来像什么。有谁能给我一个例子,说明它在编程上是什么样子的,以及它支持什么 应用函数时,选择要执行的方法称为分派。Julia允许分派进程根据给定的参数数量和函数所有参数的类型选择调用哪个函数的方法。这与传统的面向对象语言不同,传统的面向对象语言仅基于第一个参数进行分派,第一个参数通常具有特殊的参数语法,有时是隐含的,而不是显式地作为参数编写的。使用函数的所有参数来选择应该调用哪个方法,而不仅仅是第一个方法,称为多重分派。多

我已经看到和听到很多次朱莉娅允许“多次发送”,但我不确定这意味着什么或看起来像什么。有谁能给我一个例子,说明它在编程上是什么样子的,以及它支持什么

应用函数时,选择要执行的方法称为分派。Julia允许分派进程根据给定的参数数量和函数所有参数的类型选择调用哪个函数的方法。这与传统的面向对象语言不同,传统的面向对象语言仅基于第一个参数进行分派,第一个参数通常具有特殊的参数语法,有时是隐含的,而不是显式地作为参数编写的。使用函数的所有参数来选择应该调用哪个方法,而不仅仅是第一个方法,称为多重分派。多重分派对于数学代码特别有用,在数学代码中,人为地认为操作“属于”一个参数比其他任何参数都多是毫无意义的:x+y中的加法操作属于x比属于y更多吗?数学运算符的实现通常取决于其所有参数的类型。然而,即使在数学运算之外,多重分派最终也是构建和组织程序的一种强大而方便的范例

简言之,其他语言依赖于方法的第一个参数来确定应该调用哪个方法,而在Julia中,则考虑了多个参数。这将启用具有相同初始参数的类似函数的多个定义


在Julia中可以找到一个简单的多分派示例。

我还建议观看2点25分开始的视频演讲