是否有人可以帮助我,并在scala中解释:/
然后~
的内容,例如:
json = http(:/("api.twitter.com") / "1/users/show.json" <<? Map("screen_name" -> "aloiscochard") >~ { _.getLines.mkString })
来自:http://aloiscochard.blogspot.com/2011/05/simple-rest-web-service-client-in-scala.html
答案 0 :(得分:8)
在您链接的代码中,请注意import dispatch._
。这会导入dispatch library。
在该库中,我们找到一个具有apply方法的对象:/
,这就是:/("api.twitter.com")
的含义。
此外,代码中也没有~
- 只有>~
。在Scala中,任何符号组都是方法名称,可以用作运算符。所以>~
必须是某种方法。
环顾四周,我们发现HandlerVerbs
定义了一个>~
方法,该方法将“将响应处理为scala.io.Source,在块中。”
要了解代码的详细信息,您需要了解dispatch
库,我不了解。
这个库看起来非常像DSL。因此,如果您正在进行大量的调度工作,这可能是一个很好的选择(因为希望可以以直观和干净的方式进行调度)。但它可能是一次性使用的可怕选择,因为您必须非常熟悉库以了解它可能正在做什么(由于选择了非常短的方法名称,如>~
)。