【问题标题】:Functional Programming in Kotlin, Manning book: Arrow code needs updateKotlin 中的函数式编程,Manning 书:箭头代码需要更新
【发布时间】:2021-11-02 02:44:51
【问题描述】:

虽然这本书刚刚在 8 月定稿,但他们似乎在代码示例中使用了一些已弃用的 Arrow 库代码。

这是第 6 章中的一个示例:

清单 6.18。使用 for-comprehension 进行状态传播。

val ns2: State<RNG, List<Int>> =
   State.fx(Id.monad()) { 
       val x: Int = int.bind() 
       val y: Int = int.bind() 
       val xs: List<Int> = ints(x).bind() 
       xs.map { it % y } 
   }

使用最新的 Arrow 库,上面的 sn-p 在 Idea 中无法通过语法检查。 'Id' 无法识别,Arrow 文档说它已被弃用。

想知道是否有人可以帮助将其重构为当前的 Arrow 版本,或者推荐可以使用的旧版本?

【问题讨论】:

    标签: kotlin functional-programming


    【解决方案1】:

    我能够就这个问题联系到作者。

    目前,最新的 Arrow 库没有更新的代码示例,但他们可能会在未来发布。

    与此同时,有一个代码(Idea 项目)的 git 存储库可与较旧的库一起使用。可以在这里找到:Functional Programming in Kotlin

    我一直在项目中重新创建练习文件,以避免在完成练习之前看到答案,并且它有效。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-20
      • 1970-01-01
      • 2023-03-09
      • 2020-08-23
      • 1970-01-01
      • 2022-01-23
      相关资源
      最近更新 更多