2011-05-27 68 views

回答

8

在您鏈接到的代碼,請注意0​​。這導入dispatch library

在那個庫中,我們找到一個對象:/,它有一個應用方法,所以這就是:/("api.twitter.com")的含義。

另外,代碼中沒有~,或者 - 只有>~。在Scala中,任何一組符號都是一個方法名稱,可以用作操作符。所以>~必須是某種方法。

環顧四周,我們發現HandlerVerbs定義了一個>~方法,它將「將響應作爲一個scala.io.Source來處理,在一個塊中」。

理解代碼做了詳細的東西,你需要了解dispatch庫,我不知道。

這個庫似乎是非常DSL重。因此,如果您正在進行大量的調度工作(因爲調度希望可以以直觀和乾淨的方式完成),它可能是一個很好的選擇。但是,對於一次性使用來說,這可能是一個可怕的選擇,因爲您必須非常熟悉圖書館才能瞭解它可能在做什麼(由於選擇了非常短的方法名稱,如>~)。

+0

我去了,看他們的文檔 - 看起來像它在做什麼是[構建一個請求(http://static.javadoc.io/net.databinder.dispatch/dispatch-core_2.11/0.12.0/index .html#dispatch。$ colon $ div $)以'api.twitter.com'作爲主機,[追加](http://static.javadoc.io/net.databinder.dispatch/dispatch-core_2.11/0.12 0.0/index.html中#dispatch.Req @ /(段:字符串):dispatch.Req)'1 /用戶/ show.json'作爲確切網址,... – Adowrath 2017-02-27 18:21:04

+0

(HTTP [在一個查詢參數添加]: //static.javadoc.io/net.databinder.dispatch/dispatch-core_2.11/0.12.0/index.html#[email protected]<〜發現,但似乎最合乎邏輯的我)當然 注意,如今的Twitter表示,該API不再支持。 – Adowrath 2017-02-27 18:22:02