簡體   English   中英

Scala中的任何一種,嘗試和驗證

[英]Either, Try, and Validation in Scala

我對scalaz EitherTryValidation感到困惑。 他們似乎沒有做我需要的事情。 我需要的是一個簡單的monad Result[E, R] ,其中E是錯誤類型, R是結果類型。

  • Either ,因為它不是一個單子(但突起是)和無偏見是不適合的。
  • Try不合適,因為它的錯誤類型是Throwable並且它不完全是monad
  • Validation根本不是monad。

你會建議什么? 我應該自己寫這個Result類型嗎?

如果你願意使用Scalaz(這聽起來像你是), \\/ (通常發音“脫節”)是你在尋找什么,一個單子,右偏版本的Either

它還包括很多其他很好的東西,你沒有在標准庫中正確投影Either1.right語法,像+++這樣的組合器,來自Validation轉換器等)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM