2014-07-02 121 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 - 當你想想看,這是顯而易見的 - 讓我們連接到具有移動爲節點連接的變量。

我希望除了我之外的某個地方在看到這個例子時會發現價值。