1
我想依次驗證字符串列表和定義驗證結果類型這樣的:如何讓它成爲monad?
import cats._, cats.data._, cats.implicits._
case class ValidationError(msg: String)
type ValidationResult[A] = Either[NonEmptyList[ValidationError], A]
type ListValidationResult[A] = ValidationResult[List[A]] // not a monad :(
我想作ListValidationResult
一個單子。我應該手動執行flatMap
和pure
還是有更簡單的方法?
哦,謝謝。我忘了它。可以使用'traverse'(或'traverseU')來代替'map'和'sequence'('sequenceU')。 – Michael
我需要澄清我的問題:假設我需要確保輸入''a「',''b」'和'多個「c」'。假設你有三個函數:'String => ValidatedNel [ValidationError,String]'來檢查給定的字符串是「a」,「b」還是「c」。你將如何驗證列表? – Michael
我可能會寫另一個關於它的問題。 – Michael