增量方法调用如何在以下代码中起作用:
import commands
status, output = commands.getstatusoutput("curl -s http://download.finance.yahoo.com/d/quotes.csv?s=iwda.as&f=l1")
答案 0 :(得分:4)
这是method chaining的一个例子。
通过返回this
,可以在链中对原始对象实例的实例方法进行后续调用。
每次调用increment()
都会将i
的值增加1,因为调用是对原始对象实例执行的。
最后,在原始对象实例上调用print()
以输出i
的值。
答案 1 :(得分:1)
以下是我们尝试运行的代码:
x.increment().increment().increment().print();
这是我们的方法:
Leaf increment() {
i++;
return this;
}
它被称为方法链。如果我们不return this
:
void increment() {
i++;
}
代码看起来像这样:
x.increment();
x.increment();
x.increment();
x.print();
请参阅?返回对象并链接方法调用只是更简单。
答案 2 :(得分:0)
它会增加一个对象字段int i
,然后返回对已调用increment()
方法的对象的引用,因此您可以在dot之后再次调用increment()
。对于同一片叶子。