2013-04-09 2 views
7

का उपयोग करता है वहां लेंस के तरीकों के अधिक सरलता को कवर करने वाले कई महान ट्यूटोरियल और पोस्ट हैं, उदा। Cleaner way to update nested structures; क्या कोई इन तीन अन्य विधियों के लिए उदाहरण उपयोग प्रदान कर सकता है? धन्यवाद।उदाहरण scalaz.Lens के modf, modp और xmap

उत्तर

1

दुर्भाग्यवश, स्कालज़ 7 लेंस उदाहरण एक डब्ल्यूआईपी हैं। आपको the Scalaz Google Group के इस प्रश्न से पूछने की आवश्यकता है। पूछने से पहले, यहां इन उदाहरणों को आजमाएं और एम्मेट के वीडियो देखें।

स्रोत कोड को देखो फिर से। आप इससे क्या निकाल सकते हैं?

def xmapbA[X, A >: A2 <: A1](b: Bijection[A, X]): LensFamily[X, X, B1, B2] = 
    xmapA(b to _)(b from _) 

    def xmapB[X1, X2](f: B1 => X1)(g: X2 => B2): LensFamily[A1, A2, X1, X2] = 
    lensFamily(a => run(a).xmap(f)(g)) 

    def xmapbB[X, B >: B1 <: B2](b: Bijection[B, X]): LensFamily[A1, A2, X, X] = 
    xmapB(b to _)(b from _) 


    /** Modify the value viewed through the lens, returning a functor `X` full of results. */ 
    def modf[X[+_]](f: B1 => X[B2], a: A1)(implicit XF: Functor[X]): X[A2] = { 
    val c = run(a) 
    XF.map(f(c.pos))(c put _) 
    } 

न्यूनतम सहायता के लिए खेद है। मैं बस पूछ सकता हूं कि किससे पूछना है और आपको पूछने से पहले आपको क्या पता होना चाहिए।

+0

संदर्भों के लिए धन्यवाद, राहुल। – Joffer

संबंधित मुद्दे