Scalaz için oldukça yeni ve doğrulamalarla başladım.Düzleştirici İç içe Scalaz Değerlemeler
(validateXyz(...) |@| validateAbc(...)) { (first, second) =>
otherFunction(first, second)
}
: Sonra birden doğrulamaları birleştirmek ve daha sonra da bir doğrulama döndüren başka işlevi çağırmak için uygulamalı stil kullanıyorum
def validateXyz(...): ValidationNEL[String, String] = ...
:
Ben formun bazı doğrulama işlevlere sahiptir burada, yukarıdaki tür çağrılırken, bununla birlikte,
def otherFunction(first: String, second: String): ValidationNEL[String, String] = ...
olduğu:
def propagateF(result: NonEmptyList[String]): ValidationNEL[String, String] = result.fail
def propagateV(result: ValidationNEL[String, String]) = result
result.fold(propagateF, propagateV)
// result type: ValidationNEL[String, String]
Bu:
val result: ValidationNEL[String, ValidationNEL[String, String]] = ...
Sadece olarak nel yayıldığı önce başarısız iki fonksiyon ile sonucu kat ve bu ikinci sadece bir bağımsız değişken yayar arayarak paketten Doğru türleri ve sonuçları işler ve döndürür. Ancak doğru çözüm gibi hissetmiyor, bu yüzden bir şeyleri kaçırmam gerekiyor. Sonunda bu korkunç katlamayı önlemek için ne yapmam gerekiyor?