scala语法问题:/和〜

kos*_*345 4 syntax scala

任何人都可以帮助我,解释什么是scala,:/然后~在scala中,例如:

json = http(:/("api.twitter.com") / "1/users/show.json" <<? Map("screen_name" -> "aloiscochard") >~ { _.getLines.mkString })
Run Code Online (Sandbox Code Playgroud)

来自:http://aloiscochard.blogspot.com/2011/05/simple-rest-web-service-client-in-scala.html

Rex*_*err 8

在您链接到的代码中,请注意import dispatch._.这会导入调度库.

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

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

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

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

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