问题标签 [method-dispatch]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
53 浏览

r - 方法分派时 UseMethod 出错

我尝试使用以下代码创建一个方法,但是当我使用名为“tutu”的通用函数时,我收到以下错误,而其他函数(tutu.num 和 tutu.ch)工作。请你能帮我理解错误在哪里吗?我希望“tutu”函数能够识别该类并使用示例中为 tutu.num 的函数的适当方法。谢谢!

UseMethod(“tutu”)中的错误:没有适用于“tutu”的方法应用于类“c('integer','numeric')”的对象

0 投票
0 回答
236 浏览

r - R 的 S3 方法调度在采购包时不起作用

我目前正在开发工具的“帮助”下在 R 中开发一个包。也就是说,包load_all(path = ...)在这个阶段被加载到 R studio 中,并且我的 R 目录中的函数可用。到目前为止,一切都很好。但是当我尝试在我的包中实现一个简单的 S3 层次结构时,调度将不起作用 - 它会引发以下错误:

UseMethod(“generic_function”,obj)中的错误:没有适用于“generic_function”的适用方法应用于类“c('data.frame','myclass')”的对象

但是,当我实现相同的通用函数及其方法并将它们显式加载到当前环境中时,调度将起作用。

我无法解释这里发生了什么。当我加载包时,调度将根本不起作用,但在环境中“动态加载”时它会起作用。

我感谢您的帮助。BR

...根据要求提供代码:

0 投票
2 回答
235 浏览

swift - Existential Container 与符合协议的结构实例之间的关系

我试图了解如何找到协议方法的实现。

我知道 Swift 使用 Existential Container 在堆栈内存中进行固定大小的存储,它管理如何描述内存中的实例struct。它有一个价值见证表(VWT)和协议见证表(PWT)

VWT 知道如何在结构实例(它们的生命周期)中管理实际价值,而 PWT 知道协议方法的实现。

但我想知道结构实例和“存在容器”之间的关系。

的实例是否struct有一个指向存在容器的指针?

a 的实例如何struct知道它的存在容器?

0 投票
1 回答
40 浏览

r - R如何找​​到S3方法?为什么 R 找不到我的 S3 `+` 方法?

我想创建attach一个environment包含 S3 的方法,并让 R通过使用方法名称在搜索路径中找到它们(即,我应该能够让infix-style a + b工作而不必编写prefix-style "+.Foo"(a, b))。我究竟做错了什么?虽然相当长,但我可以在合理的时间内提出的最短示例如下。评论详细说明了情况和问题。

更新:我为每个选定的答案添加了更多代码。