标签: method-chaining

Java StringBuilder追加方法链

我有个问题。例如:

StringBuilder sb = new StringBuilder();
sb.append("Teacher,");
String s = sb.append(" Good").append("Morning!").toString();
Run Code Online (Sandbox Code Playgroud)

现在,在最后一行中,我创建了两个附加方法的链。我知道每个方法追加方法都会返回内存中字符串的地址(我是对的?对吧?)。所以在第一个中它附加到指向的sb.append地址。sb第一个sb.append在运行时首先执行,但是接下来会发生什么.append?接下来.append是使用第一个追加方法返回的地址还是我错了?这就是我的意思:

第一个追加 ->sb.append(" Good"); 第二个追加returnedAddr.append("Morning!");

是这样工作的吗?

java method-chaining

5
推荐指数
1
解决办法
3660
查看次数

PHP方法链接的好处?

仍然在PHP-OOP训练轮上,这个问题可能属于failblog.org.=)

PHP中方法链的好处是什么?

我不确定这是否重要,但我将静态地调用我的方法.例如

$foo = Bar::get('sysop')->set('admin')->render();
Run Code Online (Sandbox Code Playgroud)

根据我的阅读,任何返回的方法$this都允许链接.我刚学会了这是PHP5中的新功能.在我看来,如果我不必实例化一个全新的对象(静态调用它)并且只需从类中选择我需要的几个方法,那么可能会有速度优势?

我有这个权利吗?

php oop method-chaining

4
推荐指数
1
解决办法
1227
查看次数

用值对象链接的方法

在值对象上使用方法链接模式是否可接受/良好实践(比如,返回一个新对象而不是这个)?是否存在实施此解决方案的案例?

我想不出任何弊端,但我想听听你的观点.

design-patterns method-chaining value-objects

4
推荐指数
1
解决办法
1442
查看次数

jQuery方法是否是流畅编程的一个例子?

我对JavaScript/jQuery有些新意,但是当我看到方法链接的例子时,它立刻让我感到很熟悉.像LINQ其它接口做同样的事情,其中​​一组方法的返回类型是一样的,因为他们所操作的类型(TweetSharp确实非常类似的东西).这是流畅编程的一个例子吗?我读到的关于jQuery的大部分内容都说其他库已经"借用"了这种方法链接的想法 - 这个想法是否源于jQuery?

jquery fluent-interface method-chaining

4
推荐指数
1
解决办法
2207
查看次数

Underscore.js _.tap()函数什么是方法链?

Underscore.js文档解释了该_.tap()功能"点击"到方法链中.http://underscorejs.org/#tap

我跟随他们的例子有困难:

_.chain([1,2,3,200])
  .filter(function(num) { return num % 2 == 0; })
  .tap(alert)
  .map(function(num) { return num * num })
  .value();
=> // [2, 200] (alerted)
=> [4, 40000]
Run Code Online (Sandbox Code Playgroud)

在这种情况下,方法链是什么?我一直认为方法链是链接方法的概念:object.foo().bar().baz().

我已经看过使用这种方法的例子:module.exports = _.tap {}, (connectors) ->,这也是"点击"对象文字的方法链吗?

javascript method-chaining chaining underscore.js

4
推荐指数
2
解决办法
6894
查看次数

ActiveRecord,方法链接和请求执行

我目前正在尝试理解ActiveRecord如何工作以链接条件方法然后执行sql请求.

理解方法链接非常简单,我想到的一切都很好地解释并在这里重新开始.

但是,我仍然无法弄清楚,上面的文章没有解释:ActiveRecord如何知道何时执行SQL请求.

例如,如果我编写代码User.where(some_column: "hello").limit(5),ActiveRecord将实例化查询构建器,请设置有关some_column值和有限数量结果的条件.

但是,在执行之后 .limit(5),它还会执行请求并返回结果:ActiveRecord如何知道?怎么知道它是最终的条件方法,它需要返回一个结果?它是否在每个链接条件下执行SQL请求?

在我上面发布的文章中,作者通过调用最终方法来进行欺骗,该方法each正在执行请求并返回结果.

ruby activerecord ruby-on-rails method-chaining ruby-on-rails-4

4
推荐指数
1
解决办法
631
查看次数

RxSwift:链接几个动作

让我们假设我们有一个AnObject实例数组,需要执行以下一系列操作:

  • 通过单独的调用将对象发送到后端
  • 在步骤1完成后,将该数组批量存储到DB
  • 在第2步完成后,对每个项目进行额外处理

并且我们只想在执行所有这些步骤后(或者出现错误)才接收信号.通过RxSwift实现这一目标的正确方法是什么?它实际上可行吗?

请在下面找到我的原型功能.不幸的是我没有提供有效的链接代码示例,所以没有什么可以演示的.

func makeAPIRequest(object: AnObject) -> Observable<Void> {
    ...
}

func storeData(data: [AnObject]) -> Observable<Void> {
    ...
}

func additionalProcessing(object: AnObject) -> Observable<Void> { 
    ...
} 

func submitData()
{
   let data: [AnObject] = ...;

   let apiOperations = data.map{ makeAPIRequest($0) };
   let storageOperation = storeData(data);
   let processingOperations = data.map{ additionalProcessing($0) };

   ... // some code to chain steps 1-3
   .subscribe { (event) -> Void in
       // should be called when operations from step …
Run Code Online (Sandbox Code Playgroud)

method-chaining chaining swift rx-swift

4
推荐指数
1
解决办法
2695
查看次数

链表行和列 - jquery

我想知道如何使用链接在jquery中编写代码?

var table = document.getElementById("deliver_alt_table");
var rows = table.getElementsByTagName("tr");
$(rows[0].children[1]).css('visibility', 'hidden');
Run Code Online (Sandbox Code Playgroud)

这段代码有效 - 但是如何使用一行在jquery中编写?

javascript jquery method-chaining

4
推荐指数
1
解决办法
68
查看次数

c#将方法限制为其他方法

我有一个包含几种方法的类,例如:

class mySqlTool{

    private string _values, _table, _condition, _result;

    public mySqlTool Select(string values = null){
        //this is REQUIRED
        _values = string.Format("select {0} ", values);
        return this;
    }

    public mySqlTool Update(string table){
        //this is REQUIRED
        _table = table;
        return this;
    }

    public mySqlTool Set(string name, String value){
        //this is REQUIRED
        //handle name and value
        return this;
    }

    public mySqlTool From(string table = null){
        //this is REQUIRED
        _table = table;
        return this;
    }
    public mySqlTool Where(string condition = null){
        //this is OPTIONAL …
Run Code Online (Sandbox Code Playgroud)

c# method-chaining chaining

4
推荐指数
1
解决办法
606
查看次数

Javascript类中的方法链接

我正在尝试在我的子类“ setBall”内实现方法链接

class Ball {
  constructor(name, size, power) {
    this.name = name;
    this.size = size;
    this.power = power;
  }   
}

let Ball1 = new Ball('Bomb',5,2);
console.log(Ball1);

class setBall extends Ball{
  constructor(name, size, power) {
    super(name, size, power);
  }

  setBall.setName(name) {
    this.name = name;
  }

  setBall.setSize(size) {
    this.size = size;
  }

  setBall.setPower(power) {
    this.power = power;
  }

  get getthrowSpeed() {
    return this.size + this.power;
  }
}

let Ball2 = new setBall('Big',3,7);
console.log(Ball2);
Run Code Online (Sandbox Code Playgroud)

在控制台中对其进行测试时,我收到的错误是:Uncaught SyntaxError:意外令牌。

如果在它们之间也添加.prototype,则会发生相同的错误。该方法无需“ setBall”即可工作 …

javascript method-chaining

4
推荐指数
1
解决办法
3023
查看次数