Scala:将不纯函数传递给 HoF
Scala: passing impure function to a HoF
我遇到了一段以非常意外的方式使用 map 函数的 scala 代码:
myList.map(item => someImpureFunction(item))
someImpureFunction 具有 return 类型的 Unit。
这是一种可接受的 FP 方式吗?
If someImpureFunction
returns Unit
这意味着该函数执行一些副作用,例如写入数据库或标准输出,所以在这种情况下,最好使用:
myList.foreach(item => someImpureFunction(item))
如果您想编写纯 FP 代码,您应该看看延迟执行副作用(一个很好的例子是 Cats IO)
我遇到了一段以非常意外的方式使用 map 函数的 scala 代码:
myList.map(item => someImpureFunction(item))
someImpureFunction 具有 return 类型的 Unit。
这是一种可接受的 FP 方式吗?
If someImpureFunction
returns Unit
这意味着该函数执行一些副作用,例如写入数据库或标准输出,所以在这种情况下,最好使用:
myList.foreach(item => someImpureFunction(item))
如果您想编写纯 FP 代码,您应该看看延迟执行副作用(一个很好的例子是 Cats IO)