作爲一個新的斯卡拉,有人可以解釋一下the code here?玩框架斯卡拉動作
val echo = Action { request =>
Ok("Got request [" + request + "]")
}
所以我得到的,你會創建一個名爲回聲新的價值,從一個動作特點(從我可以收集類似於Java接口)。 request
是某種說法,儘管我從未見過這種語法 - 括號和箭頭=>
意味着什麼?
我看到我創建了一個Result
對象,表示200響應,並且推測返回該響應。但是我從哪裏返回?一個構造函數?
動作似乎是一個特質(https://github.com/playframework/playframework/blob/master/framework/src/play/src/main/scala/play/api/mvc/Action.scala)?所以當你編寫'Action [some func]'時,你實際上正在對該函數調用'Action.apply'? – wrongusername
在你鏈接的文件中有'object Action extends ActionBuilder [Request]'和'Trait ActionBuilder [+ R [_]]'有一個'apply'方法,該方法需要'BodyParser'來擴展'Function1'。在Scala中,通常爲特徵和類設置一個「伴隨對象」,這些特徵和類將保存將會進入類中的靜態成員/方法的東西。在這種情況下是工廠方法。在scala中,如果你調用像「foo(stuff)」這樣的對象,它只是「foo.apply(stuff)」的語法糖「 –
啊我明白了,現在有很多意義,謝謝! :) – wrongusername