2014-07-02 120 views
0

我希望能够以编程方式组成链,以便以后包含在另一个链中。我知道这不是那么难,但我似乎错过了一些东西。以编程方式组成一个链

从理论上讲,我应该可以做这样的事情:

var c = ??? // the part I can't figure out 
List(1, 2, 3).foreach { 
    c.exec(http("Fetch something").get("..." + _)) 
} 

也就是说,我希望能够在一个循环来创建链,然后填充该链,而不是硬编码源代码中的链。

我认为最大的困难就是要知道该分配给c。我认为它应该是

var c = new ChainBuilder() 

但根据documentation我必须通过它actionBuilders和下一个动作的列表,这意味着它是不可能建立一个空链,然后建立在其上的一个单独的声明。

有什么办法让我的.foreach循环按照我打算的方式工作吗?

回答

0

答案是

import bootstrap._ 

然后

var c = bootstrap 

但随后的循环必须进行修改,例如:

List(1, 2, 3).foreach(x => { 
    c = c.exec(...) 
}) 

原因与事实,做你必须做链接。当你有

foo() 
.bar() 
.blip() 

整个表达式的结果是从blip返回值,而不是foo - 当你想想看,这是显而易见的 - 让我们连接到具有移动为节点连接的变量。

我希望除了我之外的某个地方在看到这个例子时会发现价值。