全局,默认隐含在scalaz中(scalaz7)
当我使用Scalaz编写代码时,我经常遇到一些问题,即范围中没有隐含的内容。我认为在scalaz这个庞大的包中应该有一些默认值,但要么我不知道在哪里,要么根本没有 假设我们想在scalaz中全局,默认隐含在scalaz中(scalaz7),scala,scalaz,scalaz7,Scala,Scalaz,Scalaz7,当我使用Scalaz编写代码时,我经常遇到一些问题,即范围中没有隐含的内容。我认为在scalaz这个庞大的包中应该有一些默认值,但要么我不知道在哪里,要么根本没有 假设我们想在scalaz中显示anyany(我使用的是scalaz 7): 我认为同样的接触是平等的 编辑 正如回答中提到的那样,我尝试添加import scalaz.syntax.ShowSyntax,但这并不能解决我的问题。见: scala> import scalaz._ import scalaz._ scal
显示anyany
(我使用的是scalaz 7):
我认为同样的接触是平等的
编辑
正如回答中提到的那样,我尝试添加import scalaz.syntax.ShowSyntax
,但这并不能解决我的问题。见:
scala> import scalaz._
import scalaz._
scala> import Scalaz._
import Scalaz._
scala> import scalaz.syntax._
import scalaz.syntax._
scala> import scalaz.syntax.ToShowOps
import scalaz.syntax.ToShowOps
scala> import scalaz.syntax.ShowSyntax
import scalaz.syntax.ShowSyntax
scala> {def a: Any = "sratatata"; a}.show
<console>:19: error: could not find implicit value for parameter F0: scalaz.Show[Any]
{def a: Any = "sratatata"; a}.show
scala>导入scalaz_
进口scalaz_
scala>导入Scalaz_
进口Scalaz_
scala>导入scalaz.syntax_
导入scalaz.syntax_
scala>导入scalaz.syntax.ToShowOps
导入scalaz.syntax.ToShowOps
scala>导入scalaz.syntax.ShowSyntax
导入scalaz.syntax.ShowSyntax
scala>{def a:Any=“sratatata”;a}.show
:19:错误:找不到参数F0:scalaz.Show[Any]的隐式值
{def a:Any=“sratatata”;a}.show
编译器仍然需要一些隐式scalaz。Show[Any]
Show
只有在静态了解类型时才有用;如果您只知道您有一个Any
,只需调用a.toString.
如果您想显示[String]
,请导入scalaz.std.String.\uu
;对于Show[List[String]
您需要同时导入scalaz.std.List.\u
和scalaz.std.String.\u
或者,您可以使用scalaz.std.AllInstances导入标准库提供的所有类型类实例
这在@eed3si9n的优秀系列中一步一步地解释
这里还有一些很好的Scalaz指南:
仅当静态了解类型时,Show
才有用;如果您只知道您有一个Any
,只需调用a.toString.
如果您想显示[String]
,请导入scalaz.std.String.\uu
;对于Show[List[String]
您需要同时导入scalaz.std.List.\u
和scalaz.std.String.\u
或者,您可以使用scalaz.std.AllInstances导入标准库提供的所有类型类实例
这在@eed3si9n的优秀系列中一步一步地解释
这里还有一些很好的Scalaz指南:
scala> implicit def anyShow[A] = Show.showFromToString[A]
anyShow: [A]=> scalaz.Show[A]
scala> {def a: Any = "sratatata"; a}.show
res0: scalaz.Cord = sratatata
scala> import scalaz._
import scalaz._
scala> import Scalaz._
import Scalaz._
scala> import scalaz.syntax._
import scalaz.syntax._
scala> import scalaz.syntax.ToShowOps
import scalaz.syntax.ToShowOps
scala> import scalaz.syntax.ShowSyntax
import scalaz.syntax.ShowSyntax
scala> {def a: Any = "sratatata"; a}.show
<console>:19: error: could not find implicit value for parameter F0: scalaz.Show[Any]
{def a: Any = "sratatata"; a}.show