either

    -2热度

    1回答

    如果Either fmap是 (a -> b) -> p a a -> p a b 一旦返回Left停靠映射。 什么是名字或类型签名的函数,它不会停止,直到它得到Right结果。 我怀疑是双模制器,但我真的需要它明确表达出来 - 并没有完全理解这些事物的逻辑。 也许某种fold也符合...

    2热度

    1回答

    (这个问题类似于this question但这个问题只得到的评价推荐的errors包,我想的更多细节。) 我工作的一个程序使用两种不同的软件包,它们都返回IO (Either e a)或Either e a。但是这些库之间的e不一样。 我想知道如何构造使用这两个库的函数。我应该使用errors的提示使我hush和note,但这并不感到很正确: data MyError = Error1 | Err

    2热度

    1回答

    我有两个DSL - EmployeeAction和ContactAction。这里是我的特质(操作) 完整的要点是:link sealed trait EmployeeAction[R] case class GetEmployee(id: Long) extends EmployeeAction[Either[Error, Employee]] sealed trait ContactAc

    0热度

    2回答

    假设我有一个函数来检查的字符串: case class MyError(msg: String) val oops = MyError("oops") def validate(s: String):Either[MyError, Unit] = if (s == "a") Right(()) else Left(oops) 现在我想重新使用它,写一个新的函数来检查字符串列表的

    1热度

    1回答

    我有一个运行Rust程序使用真正的双打(f64)作为基础类型,并希望扩展系统,使它也可以处理复杂的值(num::complex::Complex64)。 A(削减例如)函数采用一些配置结构config,并根据该输入的索引idx在产生电位值: fn potential(config: &Config, idx: &Index3) -> Result<f64, Error> { let nu

    4热度

    1回答

    此问题中的代码使用Either<>实现此处找到:https://github.com/LoopPerfect/neither。要清楚,我怀疑这是特定图书馆的问题,否则我会在那里创建一个问题。 下面的代码片段按预期工作: std::future<std::string> f = std::async(std::launch::async, []() { return "test"; }

    0热度

    1回答

    我有一个嵌套的或者与不同的错误类型,看起来像: Either e1 (Either e2 a) 而且我想,做类似的功能: Either e1 (Either e2 a) -> Either e2 a 更多一般来说,有没有一种类型符合这种模式?

    1热度

    1回答

    我有两个either值,例如: Either String Config -- error string or config parsed Either String Env -- error string or environment variables detected 而且我想他们的价值观提取到这个纪录: type App = App { config :: Config, env

    2热度

    1回答

    如果我有一个或多个Either值,我怎样才能以功能方式编写它们,这样如果存在左值,我可以记录错误,但如果存在正确的值, 。例如 def composeEither(ethr: Either[Error, String]): Either[Error, String] = { ethr match { case Left(err) => log.error(err.getMessage)

    1热度

    2回答

    我正在使用带数据JPA的Spring Boot。 我有以下代码。 带有名称和信息性消息的用户类别。 class UserResponse{ private String name; private String message; } User JPA Repository which find userBy id;如果用户没有找到 class UserServ