问题标签 [callable-object]

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 投票
2 回答
189 浏览

c++ - 使用 std::bind 的功能组合

我正在阅读Nicolai Josuttis关于 C++11 STL 的精美书籍的第二版。

我找到了以下一段代码:

我无法理解绑定对象“ plus10times2”是如何工作的。它不应该绑定到 int 参数吗?

它如何绑定另一个绑定对象?调用调用运算符时它是如何工作的plus10times2plus10times2(7)例如)?

0 投票
1 回答
60 浏览

c++ - 在 lambda 捕获中传递可调用对象

在阅读SICP关于“用高阶函数形成抽象”的部分时,我很想在 C++ 中使用牛顿法实现一个简单的根求解过程。

但是我的实现是错误的,但我不知道为什么。代码编译但由于堆栈溢出而导致运行时崩溃,因为 fixedPoint 函数内的循环递归无法达到 MAX_IT。我在调试模式下运行它,所以尾递归不适用。

问题在于,fixedPoint 中的函数 g 永远不会被正确评估(我总是得到 inf. 结果)。我认为我错过了有关可调用传递和 lambda 捕获的一些内容(我尝试在 lambda 中传递 std::function)。下面我有运行平方根问题的示例代码。

0 投票
0 回答
44 浏览

python - Python mesa ModularServer错误'int'对象不可调用

嘿,我正在使用 Python 库 Mesa 进行基于代理的建模。

我已经将“网络上的病毒”模型改编为我自己关于利益相关者参与智能城市的研究,并陷入调试 ModularServer 的问题,该服务器在 python 中的模型与其在 javascript 中的浏览器界面之间创建了链接。

这是我的代码:

这是错误:

0 投票
1 回答
42 浏览

c++ - 将模板化函子显式转换为特定函子

我有一个可调用的结构Foo定义为

并且由于超出范围的原因,我想静态选择要调用它的类型,避免使用以下繁琐的符号:

为此,我想实现一个模板成员函数To(),以便上面可以重写为:

基本上,foo.To<T>()将返回一个可用作回调的可调用对象。一种方法可以通过使用 lambdas 来完成:

但是,我不太喜欢这种解决方案,因为它创建了一个 lambda 并按值返回它,而与对成员函数的简单调用相比,我更喜欢某种没有计算开销的“静态Foo转换” . 也可以采用 CRTP 解决方案,但它可能会添加太多样板代码,而我希望这样做会更简单。实现上述目标的最有效方法是什么?

0 投票
1 回答
204 浏览

python - 是什么导致 Tkinter 回调中的异常?

我正在尝试制作一个可以添加无限房间的程序,因此我的所有代码都是围绕使用一个变量来构建的,以推断哪个房间是哪个房间。但是,当我运行它时,它给了我一个错误,它没有直接引用我的代码中的任何一行,而且由于我是一个相当新的程序员,我不知道这意味着什么。此外,我的代码到处都是而且不完整。谢谢你的帮助!

错误

编码

0 投票
3 回答
98 浏览

javascript - 如何将对象用作函数,或者如何最好地创建自定义可调用对象/类型?

我有两个文件 index.js 和 actor.js

索引.js

Actors.js

我应该如何更改 class Actors,以便函数调用avenger()起作用 console.log(avenger());,并产生这个预期的结果:

0 投票
0 回答
28 浏览

c++ - 复制涉及“this”指针的可调用对象的语义

我有一个类成员,它的类型通过使用std::function绑定到this指针std::bind

我实现了赋值运算符,它还必须复制可调用对象,但是问题在于,this应该复制哪个?这个this还是其他this

这是用于演示的示例可编译代码:

以下是非唯一示例输出:

如您所见,在第二个实例中调用了非预期的可调用对象。

问题是什么?

问题在于this存储在可调用对象内的指针,复制可调用对象也会复制this指针,这意味着this不再this是“其他”。

为了理解我的问题,可调用对象是从外部代码调用的事件回调,它假定可调用将在this实例上执行但它不会,它在复制的其他实例上执行。

我的问题是在这里实现复制语义的正确方法是什么?现在我更喜欢这个this_callable版本,而不是other_callable因为它指的是 thisthis而不是 other this

但是我不确定这是好是坏,超出了它的预期效果,而简单地复制可调用(other_callable)会导致我的代码中的错误在这个例子之外不容易解释。

我的设计是否this_callable可以接受,还是应该other_callable用于复制语义并在其他地方更改设计?

0 投票
0 回答
21 浏览

python - 如何以编程方式构造和执行配置文件中指定的可调用对象的 DAG

我有一个具有固定数量节点的图,其中每个节点都拥有一个可调用字典。我希望能够以编程方式从配置文件中构建这些节点的可调用对象之间的一系列交互。

例如,我可能想指定以下交互顺序:

  1. 调用节点 1 的A()函数
  2. 将输出传递给节点 2 的A()可调用对象(不同于节点 1 的A可调用对象)和节点 3 的B()可调用对象
  3. 将两个可调用对象的输出传递给节点 1 的B()可调用对象

函数调用的顺序以及它们之间的信息如何流动形成了一个有向无环图(DAG)。如何以编程方式从配置文件构造和执行 DAG?

0 投票
1 回答
45 浏览

python - 获取 TypeError:'TextDetector' 对象不可调用

我的 TextDetector 对象是一个类的蓝图,但仍然无法调用它。它以前可以工作,但现在无法正常工作。不知道为什么会这样。你们中的任何人都可以给我这个 TypeError 的原因吗?

导入 predict_det

#from predict_det 导入文本检测器

导入简历2

#进口火炬

#device = torch.device('cuda:0')

​</p>

text_detector = predict_det.TextDetector()

img = cv2.imread(r'C:\Users\pearl\Downloads\AI\Project OCR\OCR_PP_tester\Temp_img_folder\images.jpg')

dt_boxes, elapse = text_detector(img)

<类'列表'>


TypeError Traceback(最近一次调用)~\AppData\Local\Temp/ipykernel_3160/1748103168.py in 7 text_detector = predict_det.TextDetector() 8 img = cv2.imread(r'C:\Users\pearl\Downloads\AI\项目 OCR\OCR_PP_tester\Temp_img_folder\images.jpg') ----> 9 dt_boxes, elapse = text_detector(img)

TypeError:“TextDetector”对象不可调用

0 投票
0 回答
11 浏览

python-3.x - (Python) Selenium 列表对象在遍历它们时不可调用(自动完成功能也不起作用)

我对 Python 和 Selenium 还很陌生。我正在尝试在 VS Code 中使用 Python 和 Selenium 从网页中收集元素。我已经在其他网页上做过类似的事情,所以我可以确认设置和驱动程序都可以正常工作。这是我将尝试逐行解释的代码。

问题是,虽然我可以在第二行和第三行代码中使用像“find_element”这样的函数……但我不能在 for 循环中使用它,在第五行代码中。在数字化“。”之后,VS Code 甚至没有向我显示预期的功能。我试图自己完成它,希望它能奏效,但当然没有。

为什么会这样?

为什么有时我不能使用 WebElements 功能?

我注意到它主要发生在对象列表而不是单个对象上。