1. SwiftzSwift函數(shù)式編程

        聯(lián)合創(chuàng)作 · 2023-09-28 17:33

        Swiftz 是一個(gè) Swift 庫,實(shí)現(xiàn)了函數(shù)式編程。

        示例代碼:

        let xs = [1, 2, 0, 3, 4]
        
        // we can use the Min semigroup to find the minimal element in xs
        sconcat(Min(), 2, xs) // 0
        
        // we can use the Sum monoid to find the sum of xs
        mconcat(Sum<Int8, NInt8>(i: { return nint8 }), xs) // 10
        
        // we can delay computations with futures
        let x: Future<Int> = Future(exec: gcdExecutionContext, {
          sleep(1)
          return 4
        })
        x.result() == x.result() // true, returns in 1 second
        
        // we can map and flatMap over futures
        x.map({ $0.description }).result() // "4", returns instantly
        x.flatMap({ (x: Int) -> Future<Int> in
          return Future(exec: gcdExecutionContext, { sleep(1); return x + 1 })
        }).result() // sleeps another second, then returns 5
        瀏覽 24
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        編輯 分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        編輯 分享
        舉報(bào)
          
          

            1. 人人草人人草人人草 | 精品永久| 被操哭网站 | 中文乱片A片AAA毛片 | 高清无码一区 |