Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/19.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.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
是否有将选项转换为scalaz验证的内置方法?_Scala_Scalaz - Fatal编程技术网

是否有将选项转换为scalaz验证的内置方法?

是否有将选项转换为scalaz验证的内置方法?,scala,scalaz,Scala,Scalaz,我一直在找,但找不到隐式转换器。显然,写一个是很简单的,但是我想知道我是否在scalaz库中遗漏了一个 Scalaz有一个选项到的隐式转换,它声明了toFailure和toSuccess方法。基本上,您有一些方法可以将“一些”转换为“快乐路径”(在验证->成功,在分离\/-)然后您需要为None定义一个错误描述 当我收到一个可选参数,如果没有提供,我想引发一个错误时,我会使用它 例如: scala> import scalaz.Scalaz._ import scalaz.Scalaz._

我一直在找,但找不到隐式转换器。显然,写一个是很简单的,但是我想知道我是否在scalaz库中遗漏了一个

Scalaz有一个
选项
到的隐式转换,它声明了
toFailure
toSuccess
方法。

基本上,您有一些方法可以将“一些”转换为“快乐路径”(在验证->成功,在分离\/-)然后您需要为None定义一个错误描述

当我收到一个可选参数,如果没有提供,我想引发一个错误时,我会使用它

例如:

scala> import scalaz.Scalaz._
import scalaz.Scalaz._

scala> import scalaz._
import scalaz._

scala> Some("clientId123").toSuccessNel("Client id is mandatory")
res0: scalaz.ValidationNel[String,String] = Success(clientId123)

scala> None.toSuccessNel("Client id is mandatory")
res1: scalaz.ValidationNel[String,Nothing] = Failure(NonEmpty[Client id is mandatory]) 
如果使用应用程序累积错误,则可以向最终用户提供全面的错误消息,例如:

Client id is mandatory, country is mandatory, etc

你能举个例子吗?我在scalaz和scalaz上都尝试过这个方法。导入后,我仍然得到“错误:值toValidationNel不是Option的成员”OptionOps不为您转换吗?
toValidationNel
是一个在验证时可用的方法,而不是在Option上。
import scalaz.syntax.std.Option.\;myOption.toSuccessNel(myError)