multiple-dispatch相关内容

如何写“好"处理多种类型和数组时的 Julia 代码(多次分派)

OP 更新:请注意,在最新版本的 Julia (v0.5) 中,回答这个问题的惯用方法是定义 mysquare(x::Number) = x^2.使用自动广播覆盖矢量化案例,即 x = randn(5) ;mysquare.(x).另请参阅更详细地解释点语法的新答案. 我是 Julia 新手,鉴于我的 Matlab 出身,我很难确定如何编写利用多重调度和 Julia 类型系统的“好的"Jul ..
发布时间:2022-01-23 19:08:23 其他开发

使用重载方法动态调度(运行时多态性)而不使用 instanceof

我想将Arc 和Line 的对象保存在一个ArrayList 中,然后得到两者的交集.问题是如何将 i 和 j 转换为原始类.我知道 instanceof 有效,但这将是最脏的方法. 公共类交集{公共静态布尔相交(ArrayList list1,ArrayList list2){对于(曲线 i:list1){对于(曲线 j:list2){如果 (i.intersection(j).length ..
发布时间:2021-06-18 20:08:14 Java开发

具有完全可维护性的多调度解决方案

有人能想到一种通过以下 Object :: foo 重载之类实现多次调度的好方法吗? A类{上市:虚拟无效接受(Visitor&)= 0;};B类:公共A {虚拟虚空接受(Visitor&)覆盖;};C级:公共A {虚拟虚空接受(Visitor&)覆盖;};D级:公共A {虚拟虚空接受(Visitor&)覆盖;};类Object {上市:虚拟double foo(A *,A *){std :: ..
发布时间:2021-04-19 18:40:59 C/C++开发

泛型多次派发

我试图通过提供使用泛型的工厂/构建器来抽象我的接口实现.但是,我在运行时遇到了多个调度和C#泛型的问题,这似乎有些奇怪. 基本方案是我定义了几个接口: public interface IAddressModel { } public interface IUserModel { } 然后我有一个工厂类来返回实际的实现: public class Factory { ..
发布时间:2020-11-13 05:33:23 C#/.NET

如何从命令行提供非稀疏数组或命名数组?

首先:Raku(perl6)很棒。 Cro也是。恋爱只花了一个周末。但是现在我偶然发现了一些必须非常简单的东西。 如果我在多重调度MAIN中使用了slurpy参数,则它会被识别并完美运行: multi MAIN('config','add',* @ hostnames){ 但是,如果我将其设置为非糊状数组,则该数组要么无法识别,要么不知道如何从命令行提供它: ..

多态与多重分派有什么区别?

...还是同一回事?我注意到每个人都有自己的Wikipedia条目:多态, 编辑:超载如何适应所有这一切? ? 解决方案 多态性是一种工具,它允许语言/程序在运行时根据发送给该方法的参数类型来决定要调用的方法. 语言/运行时使用的参数数量决定了语言支持的多态性的“类型". 单派发是一种多态性,其中仅使用一个参数(消息的接收方-this或self)来确定呼叫. 多重调度是一 ..
发布时间:2020-05-20 00:59:52 其他开发

如何写“好"字?处理多种类型和数组时的Julia代码(多种调度)

OP更新:请注意,在最新版本的Julia(v0.5)中,回答此问题的惯用方法是只定义mysquare(x::Number) = x^2.使用自动广播(即x = randn(5) ; mysquare.(x))覆盖矢量化的案例.另请参阅新答案,以更详细地解释点语法. 我是Julia的新手,并且由于我的Matlab来历,我在确定如何编写利用多重调度和Julia类型系统的“好" Julia代码方面 ..
发布时间:2020-04-25 04:28:09 其他开发

在没有Double Dispatch / Visitor模式的情况下解决Java的静态方法调度问题

我正在使用提供这些方法的类 Foo : String overloadedMethod(Object) String overloadedMethod(Goo) 由于Java静态调度非接收器参数,我不能只传递我的值(这是一个对象,但可能有动态类型 Goo )并依赖JVM动态选择“正确”方法。 这是我当前(丑陋)的工作-around: 对象值= ...; ..

使用invokedynamic实现多个调度

我想知道Java7的新的 invokedynamic 字节码指令是否可以用于实现多个调度 Java语言。 java.lang.invoke下的新API是否有助于执行此类操作? 我正在考虑的情况如下。 (这看起来像访客设计模式的应用案例,但可能有原因,这不是一个可行的选择。) class A {} class A1 extends A {} class A2 extends A ..

在C ++中的多重分派

我想了解多重派遣是什么。我读了很多不同的文本,但我仍然不知道多个调度是什么,它是什么好。也许我缺少的东西是一块代码使用多个分派。请,你可以在C ++中使用多个分派写一小段代码,以便我可以看到它不能被编译/运行正常,因为C ++只有单个分派?我需要看到的区别。非常感谢。 解决方案 多分派是基于参数的运行时类型选择调用哪个版本的函数的能力传递给函数调用。 下面是一个在C ++中未正确工作 ..
发布时间:2016-10-13 09:48:23 C/C++开发

如何写"好"朱莉娅多种类型和数组打交道时,code

我是新来的朱莉娅,并给予我的Matlab的起源,是有一些困难,决定如何写“好”朱莉娅code,它需要多个调度和朱莉娅的类型系统的优势。 考虑在那里我有,它提供了Float64的平方的函数的情况。我可能会这样写的: 函数mysquare(X :: Float64) 返回(X ^ 2); 结束 有时候,我想方所有Float64在一维数组,但不想写出来了 mysquare 每次一个循环, ..
发布时间:2016-06-01 19:41:52 其他开发

优化多分派通知算法在C#中?

抱歉标题,我想不出更好的方式来说明问题。基本上,我想实现一个碰撞系统在游戏中。我希望能够注册一个“冲突处理”处理两个对象(在任一给定顺序),可转换为特定类型的任何冲突。因此,如果播放器:船舶:实体和激光:粒子:实体,和处理程序(船舶,颗粒)和(激光,实体)注册比为(激光,球员碰撞),这两个处理程序应通知,以正确的顺序参数,以及碰撞(激光,激光)应通知第二只处理程序。 一个code段胜过千言万语, ..
发布时间:2015-11-26 19:01:15 C#/.NET

有没有新的“动态”变量类型在.NET 4.0中解决CLR的单/多方法分配问题?

单牒的问题主要是熟悉的人从事与像Java和C#静态类型语言编码。其基本思想是: 虽然运行时多态性使我们能够根据接收的类型(运行时类型)派遣到正确的方法调用,例如: IAnimal mything =新的猫(); mything.chop(); 该方法调用将根据 mything 的运行时类型进行的,即猫。 这是唯一的调度能力(这是present用Java / C#)。 现在,如果你 ..
发布时间:2015-11-25 23:59:28 C#/.NET