gpt4 book ai didi

scala - http(/* 此处的参数 */) 如何在没有显式或隐式方法的情况下使用此对象 (Http)?

转载 作者:行者123 更新时间:2023-12-01 07:34:28 25 4
gpt4 key购买 nike

在使用 Databinder Dispatch 使用 Json 编码的示例中Nathan 使用了一个没有方法的对象 (Http),如下所示:

import dispatch._
import Http._
Http("http://www.fox.com/dollhouse/" >>> System.out )

他是如何做到这一点的?

感谢您的所有答案,不幸的是我不够具体......

看起来它只是将参数传递给类或伴生对象 Http 的构造函数。

在另一个例子中,我看到了另一种形式:
http = new Http
http(/* argument here */)

这是有效的 Scala 吗?我想一定是,因为作者是 Scala 专家。但这对我来说毫无意义。操作通常通过调用对象的方法来执行,无论是显式为 object.doSomething() 还是隐式为 object = something(使用语法糖下面的 apply() 方法)。

我能想到的是,除了构造一个对象之外,构造函数还被用来做一些事情。换句话说,它有副作用,例如在这种情况下会离开并在网络上做一些事情。

最佳答案

它的工作原理是定义一个名为 apply 的方法。在对象上。如果存在这样的方法,则可以将参数应用于对象本身 - 这意味着在内部将参数传递给 apply方法。

关于scala - http(/* 此处的参数 */) 如何在没有显式或隐式方法的情况下使用此对象 (Http)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2485298/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com