scala语法问题:/和〜

时间:2011-05-27 17:44:21

标签: scala syntax

是否有人可以帮助我,并在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

1 个答案:

答案 0 :(得分:8)

在您链接的代码中,请注意import dispatch._。这会导入dispatch library

在该库中,我们找到一个具有apply方法的对象:/,这就是:/("api.twitter.com")的含义。

此外,代码中也没有~ - 只有>~。在Scala中,任何符号组都是方法名称,可以用作运算符。所以>~必须是某种方法。

环顾四周,我们发现HandlerVerbs定义了一个>~方法,该方法将“将响应处理为scala.io.Source,在块中。”

要了解代码的详细信息,您需要了解dispatch库,我不了解。

这个库看起来非常像DSL。因此,如果您正在进行大量的调度工作,这可能是一个很好的选择(因为希望可以以直观和干净的方式进行调度)。但它可能是一次性使用的可怕选择,因为您必须非常熟悉库以了解它可能正在做什么(由于选择了非常短的方法名称,如>~)。