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