问题标签 [method-chaining]

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 投票
4 回答
251 浏览

java - 调用静态方法后重用类

假设我有一个包含几个静态 void 方法的类,例如:

如何修改它以调用我的静态方法,如下所示:

代替

我知道如何使用非静态方法(只返回这个),但是如何使用静态字段呢?

0 投票
2 回答
291 浏览

php - PHP 数组引用;将引用保存在数组中以供以后使用

我试图保留一个变量引用以供以后使用。

不确定这是否可行,但我希望我可以初始化一个数组元素,并用一个变量引用它。然后,将所述数组元素的值设置为某个值,从而使该值可以从引用的变量中访问。

例如,这有效:

现在问题来了;方法调用的顺序。我不能让call()函数返回对的引用$this,因为该call()函数需要传递存储的匿名函数的返回值(否则我会将调用重新排序为->call()->fetch()而不是->fetch()->call()

无论如何,该fetch()方法应该通过 key in 设置适当的元素($_vars清空任何现有值,或对其进行初始化,以任何一个为准),然后将该元素引用到传递的.NULL$var

当调用匿名函数时(fetch()绑定完成后),它调用bind(),现在将元素绑定$_vars到任何内容(在这种情况下$string_set包含This is a string)如果我的逻辑是正确的,则fetch()绑定变量($string_get在这种情况下)现在应该引用数组$_vars引用$string_set其中包含的元素This is a string

不过好像不是这样的。这是失败的代码(为简洁起见,被剥离,但所有重要部分都在那里

我在这里追逐雏菊,这可能吗?无论哪种方式,我都感谢并提前感谢您甚至瞥了一眼这个问题,任何见解都非常感谢。

编辑:中的行fetch()-$var = $this->_vars[$key];没有通过引用分配数组元素。我现在已将其编辑为$var = &$this->_vars[$key];,尽管它似乎没有效果。

奖励:如果这个问题是可以解决的,那显然很棒;我实际上希望这bind()可以$var通过价值来衡量,而不是通过参考。方法签名将更改为类似set($key, $value). 无论如何,再次提前感谢。


为了详细说明看似好奇的人(看着你的方向@Tomalak),我将提供更完整的类和使用场景:

0 投票
2 回答
229 浏览

ruby - Ruby 1.8.7:拦截对象的链式方法

我有一个包装任意数据单元的类;一种过滤器。这些单元存在于后端数据存储中。但这应该尽可能透明。

编写简单的访问器很简单:

我发现棘手的部分是拦截和跟踪方法,如果数据没有被包装,这些方法通常会影响数据。例如,如果数据是一个数组,则会在原位obj.foo << 17向数组中添加一个元素。我想在后端存储的数据上保持这种行为(,导致存储的值也添加了一个元素)。我想也许 a会有所帮助:obj.foo << 17method_missing

但是结合阅读器访问器,操作的控制已经超出了我的范围,因为它返回的东西不是东西本身。(,如果后端数据是一个数组,我将返回它的一个副本,并且该副本正在被修改并且从未发回给我。)

这可能吗?如果是这样,我该怎么做?(这可能很明显,我只是想念它,因为我累了——或者可能不是。:-)

谢谢!

[编辑]

换句话说.. #method_missing允许您挂钩未知方法的调用过程。我正在寻找一种方法来类似地挂接到调用过程中,但是对于所有已知未知的方法。

谢谢!

0 投票
2 回答
304 浏览

php - PHP:对象方法链中的命名空间解析

我们在几个核心系统中使用方法链。我们正在尝试将其中一些系统命名为远离我们的模块。但是,我无法通过链接工作来获得任何类型的命名空间解析。

所以虽然这有效(像往常一样):

另一方面,这:

抛出错误:

有没有办法解决?

我几乎已经假设这是不行的。但要求确保我没有遗漏任何东西。

根据您的观点(绝对是我的),这是一个错误。

0 投票
5 回答
1254 浏览

c++ - 方法链缩进

假设我有一个很长的方法链接

什么是最好的缩进?所有编译器都支持它们吗?

或者

0 投票
2 回答
178 浏览

ruby - 内联数组切片

嗨!我最近想知道一件有趣的事情。说我有这个片段:

在哪里

我真正想做的是迭代除最后一个之外的 ad hoc 数组的所有成员。该片段显然不起作用,因为delete_at返回已删除的元素。

有没有办法用“内联”语法对数组进行切片?还是我非常想念什么?你知道其他一些使类似方法链接更容易的技巧吗?

0 投票
1 回答
571 浏览

ruby - 在 Ruby 中,链上的最后一个方法如何访问初始对象

- 编辑,已解决 -

最终创建了一个方法Object#rec来完成我所需要的,结果如下:

如果有人有更好的方法,问题仍然存在。

- 编辑,已解决 -


问题:

我有类似的情况:

wheremethod1返回的东西不是obj我需要再次method2访问obj,因为它包含我需要的参考。


例如:


选择:

我知道我可以避免b再次通过,如果我使用obj.my_methodmy_method做了反转(例如)和访问参考,或者像评论一样the Tin Manmethod1更改obj但返回原始obj,但我想知道它是否可能完成上述。

提前致谢。

0 投票
4 回答
579 浏览

c++ - C++ 中非成员函数的广义链接

我不知道这是否可以实现,但鉴于这些功能\类:

我可以像这样链接在浮点数上运行的函数:

但是,我想将其概括\扩展为能够在类型之间进行转换并具有带参数的函数。不幸的是,我不够聪明,无法弄清楚如何或是否可以做到这一点。太具体了,我希望能够做这样的事情(哪里operator<<只是一个随意的选择,最好我什至不必在开头写“链”);此外,这些只是虚拟示例,我不打算将其用于算术。

或者

有任何想法吗?

0 投票
4 回答
11751 浏览

php - 如何在 PHP 中链接方法?

jQuery 让我链接方法。我还记得在 PHP 中看到过同样的情况,所以我写了这个:

我无法让链条工作。它在喵喵叫之后立即产生一个致命错误。

0 投票
5 回答
3678 浏览

javascript - 如何链接我的方法调用?

我有一个对象:

是给予step1()而不是给予step2()step2()不发出警报。我怎样才能做到这一点?