问题标签 [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.
java - 调用静态方法后重用类
假设我有一个包含几个静态 void 方法的类,例如:
如何修改它以调用我的静态方法,如下所示:
代替
我知道如何使用非静态方法(只返回这个),但是如何使用静态字段呢?
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),我将提供更完整的类和使用场景:
ruby - Ruby 1.8.7:拦截对象的链式方法
我有一个包装任意数据单元的类;一种过滤器。这些单元存在于后端数据存储中。但这应该尽可能透明。
编写简单的访问器很简单:
我发现棘手的部分是拦截和跟踪方法,如果数据没有被包装,这些方法通常会影响数据。例如,如果数据是一个数组,则会在原位obj.foo << 17
向数组中添加一个元素。我想在后端存储的数据上保持这种行为(即,导致存储的值也添加了一个元素)。我想也许 a会有所帮助:obj.foo << 17
method_missing
但是结合阅读器访问器,操作的控制已经超出了我的范围,因为它返回的东西不是东西本身。(即,如果后端数据是一个数组,我将返回它的一个副本,并且该副本正在被修改并且从未发回给我。)
这可能吗?如果是这样,我该怎么做?(这可能很明显,我只是想念它,因为我累了——或者可能不是。:-)
谢谢!
[编辑]
换句话说.. #method_missing
允许您挂钩未知方法的调用过程。我正在寻找一种方法来类似地挂接到调用过程中,但是对于所有已知和未知的方法。
谢谢!
php - PHP:对象方法链中的命名空间解析
我们在几个核心系统中使用方法链。我们正在尝试将其中一些系统命名为远离我们的模块。但是,我无法通过链接工作来获得任何类型的命名空间解析。
所以虽然这有效(像往常一样):
另一方面,这:
抛出错误:
有没有办法解决?
我几乎已经假设这是不行的。但要求确保我没有遗漏任何东西。
根据您的观点(绝对是我的),这是一个错误。
c++ - 方法链缩进
假设我有一个很长的方法链接
什么是最好的缩进?所有编译器都支持它们吗?
或者
ruby - 内联数组切片
嗨!我最近想知道一件有趣的事情。说我有这个片段:
在哪里
我真正想做的是迭代除最后一个之外的 ad hoc 数组的所有成员。该片段显然不起作用,因为delete_at
返回已删除的元素。
有没有办法用“内联”语法对数组进行切片?还是我非常想念什么?你知道其他一些使类似方法链接更容易的技巧吗?
ruby - 在 Ruby 中,链上的最后一个方法如何访问初始对象
- 编辑,已解决 -
最终创建了一个方法Object#rec
来完成我所需要的,结果如下:
如果有人有更好的方法,问题仍然存在。
- 编辑,已解决 -
问题:
我有类似的情况:
wheremethod1
返回的东西不是obj
我需要再次method2
访问obj
,因为它包含我需要的参考。
例如:
选择:
我知道我可以避免b
再次通过,如果我使用obj.my_method
并my_method
做了反转(例如)和访问参考,或者像评论一样the Tin Man
有method1
更改obj
但返回原始obj
,但我想知道它是否可能完成上述。
提前致谢。
c++ - C++ 中非成员函数的广义链接
我不知道这是否可以实现,但鉴于这些功能\类:
我可以像这样链接在浮点数上运行的函数:
但是,我想将其概括\扩展为能够在类型之间进行转换并具有带参数的函数。不幸的是,我不够聪明,无法弄清楚如何或是否可以做到这一点。太具体了,我希望能够做这样的事情(哪里operator<<
只是一个随意的选择,最好我什至不必在开头写“链”);此外,这些只是虚拟示例,我不打算将其用于算术。
或者
有任何想法吗?
php - 如何在 PHP 中链接方法?
jQuery 让我链接方法。我还记得在 PHP 中看到过同样的情况,所以我写了这个:
我无法让链条工作。它在喵喵叫之后立即产生一个致命错误。
javascript - 如何链接我的方法调用?
我有一个对象:
是给予step1()
而不是给予step2()
。step2()
不发出警报。我怎样才能做到这一点?