Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
scala语法问题:/and~_Scala_Syntax - Fatal编程技术网

scala语法问题:/and~

scala语法问题:/and~,scala,syntax,Scala,Syntax,谁能帮我解释一下什么是scala中的:/,然后是~,例如: json = http(:/("api.twitter.com") / "1/users/show.json" <<? Map("screen_name" -> "aloiscochard") >~ { _.getLines.mkString }) json=http(:/(“api.twitter.com”)/“1/users/show.json”在链接到的代码中,请注意导入分派。\u。这将导入 在这个库中,

谁能帮我解释一下什么是scala中的
:/
,然后是
~
,例如:

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

json=http(:/(“api.twitter.com”)/“1/users/show.json”在链接到的代码中,请注意
导入分派。\u
。这将导入

在这个库中,我们找到了一个对象
:/
,它有一个apply方法,这就是
:/(“api.twitter.com”)
的意思

此外,代码中也没有
~
,只有
~
。在Scala中,任何一组符号都是一个方法名,可以用作运算符。因此
~
必须是某个对象上的方法

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

要详细了解代码的作用,您需要了解
dispatch
库,而我没有


这个库似乎非常依赖DSL。因此,如果您正在做大量的分派工作,它可能是一个很好的选择(因为分派希望能够以直观和干净的方式完成)。但对于一次性使用来说,它可能是一个可怕的选择,因为您必须非常熟悉该库才能理解它可能在做什么(由于选择了非常短的方法名,如
~
).

我去查看了他们的文档-看起来它所做的是作为主机,
api.twitter.com
,作为确切的url,
screen\u name
带有值
aloiscochard
,然后读取主体并将其转换为一个大字符串。(没有找到>~的参考,但对我来说这似乎是最符合逻辑的)当然,Twitter现在说API不再受支持。