问题标签 [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 回答
849 浏览

c++ - 在具有可调用对象的线程中生成线程

我在多个场合都看到过这个问题,它似乎出现在 Windows(visual studio)和 Linux(gcc)中。这是它的简化版本:

代码看起来足够合法,但它不会编译。

Visual Studio中,它将给出:

GCC中,它将给出:

我想我知道问题出在某种形式的复制或引用机制上,但所有语法似乎都是正确的。

我错过了什么?

我对示例进行了一些更改,对于造成的混乱,我深表歉意。我试图尽可能纯粹地重现问题,但我自己并不完全理解。

0 投票
1 回答
445 浏览

python - 使用 Python 中已提供的参数创建一个可调用对象

本质上,我试图将参数传递给一个函数,但将该函数的执行推迟到以后。我不想耽误一些时间,否则我只会sleep。这是我要使用的用法

当然,这里的问题是当我调用test_for_active_server("http://localhost/")它时它会立即运行,所以参数create_callable将只是None. 我相信我可以用类似的东西来做到这一点

然后将其用作

但这比较尴尬。有一个更好的方法吗?

0 投票
1 回答
39 浏览

php - 尝试将带有参数的回调函数作为函数参数传递 - 出现“意外的回调函数名称,期待 '('”错误

我正在尝试使用这个开源 PHP 类并调用setInterval()函数。从链接的 github 页面:

正如你所看到的,它接受一个函数作为第一个参数,所以我尝试向它传递一个回调函数,并按照这个 SO answer for the syntax。这是我的代码:

但我收到错误:

解析错误:语法错误,意外的回调函数,期待 '('

所以问题是我在这里做错了什么,我该如何纠正它?

0 投票
1 回答
386 浏览

c++ - C++ 中的函子和 lambda

这是我从 Quora 得到的答案。我问为什么 C++ 采用 lambda。有人回复了这两段代码,上面使用 lambdas,下面则不然。它们应该是等价的,代码的差异突出了 lambdas 的优势。

但是,我看不到 add_to 函数将如何生成与 lambda 等效的行为。

通过阅读 lambda,“结果”似乎是一个全局变量。在我的脑海中,我认为 add_to 函数应该如下实现,以便等效于 lambda:

0 投票
1 回答
233 浏览

python - 如果传递了类实例,如何执行函数?

我目前有一个TestClass可调用的。如果任何属性等于 ,则可调用对象执行一个引发异常的函数None。将其定义为可调用的目的是,当TestClass实例被传递给另一个函数或被复制时,它将在传递之前检查所有属性是否存在,否则将引发异常。

下面显示此逻辑的行是UsesTestClass(testClass())

理想情况下,我希望能够执行相同的检查而不必“调用”类实例。例如,UsesTestClass(testClass)。是否有一种神奇的方法或其他方式来配置类以在作为参数传递之前执行函数?

0 投票
0 回答
307 浏览

python-3.x - 如何修复:'TypeError:'numpy.ndarray'对象在 scipy fmin_bfgs 中不可调用

我正在尝试用 Python 而不是 matlab 解决 Andrew NG 的课程第 3 周作业,我发现 fmin_bfgs 与 ex2.m 文件中的 fminunc 类似

问题是,当我尝试将成本函数和计算梯度的函数输入 fmin_bfgs 时,它会返回一个回溯,说明:TypeError: 'numpy.ndarray' object is not callable。我很难尝试调试问题,因此将不胜感激

0 投票
1 回答
769 浏览

c++ - 当您可以使用构造函数时,为什么要在 C++ 类或结构中重载 () 运算符(可调用运算符)?

为什么要在 C++ 类或 C++11 或更高版本中的结构中重载 () 运算符?据我所知,当您想要将类或结构等对象传递到 std::thread 并通过可调用类型启动一个带有数据包的新线程时,这些运算符会被重载。但除此之外,为什么还要重载 () 运算符?你不能简单地在类或结构的构造函数中做同样的事情吗?

为什么使用

你什么时候可以做

0 投票
1 回答
26 浏览

python - 为什么 python obj.atribute 返回地址位置而 obj.atribute.atribute 返回值?

要获取属性的值,我需要调用 method.attribute.attribute 而不是 method.attribute,这是为什么呢?调用 method.attribute 会产生一个内存地址。我应该/如何更改我的代码以使 method.attribute 工作?

关于这个中心的大多数问题都围绕调用 print(f) 而不是 print(f())

这是应该打印属性描述值的代码

这是包含我要获取的属性的对象。

Main() 在上述类之外调用。

我得到的输出是

如果我换行:

我得到了预期的结果:

所以问题是为什么以及如何更改我的代码?

0 投票
2 回答
3142 浏览

python - 装饰器“对象不可调用”

我正在尝试使用 Python 中的装饰器并尝试CachedProperty从 botocore 库中实现装饰器的一个版本,但一直遇到错误:

TypeError:“CachedProperty”对象不可调用。

我今天已经在谷歌上搜索了一段时间,但我发现的例子似乎并不直接等同于我的问题。它们主要与试图调用 int 和失败之类的对象的人有关。

当我单步执行代码时,装饰器__init__CachedProperty导入时调用 ok sum_args(),但是当我从单元测试中调用函数本身时会引发错误。

我的单元测试:

我要装饰的功能:

CachedProperty我从 botocore 学到的课程:

查看我最初从中刷出的程序,我希望它能够将 sum 函数传递给CachedProperty类——在运行时创建它的实例——并将结果存储在其内部实例变量中的实例self._fget

我实际上得到的是:

0 投票
1 回答
208 浏览

php - 如何在使用`Closure::fromCallback()`创建的闭包中`使用`变量?

PHP是否支持usea 范围内的局部变量,Closure即使这个变量是通过创建的Closure::fromCallable()

通常我会做

但是当有更复杂的代码时,我如何获得相同的结果呢?

我知道在这种情况下我可以将值作为可调用参数传递,但我之所以写作是因为对 PHP 的工作原理感到好奇。

另外,是的,在内部使用 $valuemyCallable而不在任何地方声明它是非常荒谬的。但是,它更多的是关于好奇心而不是正确性

我已经尝试过$callback = Closure::fromCallable([ $this, 'myCallable' ]) use ($value);了,但它因语法错误而失败。

该方法不应该fromCallable支持在闭包的范围内传递我们想要的变量,替换use语句的功能吗?

我在functions.anonymousclosure.fromcallable中找不到任何见解。