函数式编程常见疑问

66 阅读1分钟

为什么函数式编程的函数最后一行作为返回值?

答: 返回值这个东西说法不是很好, 应该叫做结果值, 因为函数式编程的核心为一切都是表达式, 一切都是表达式求值的结果, 而函数就是作为一种表达式被求值, 最后一行就是最后的结果, 我们可以看下面这行代码:

def add(a) do
    a 
    |> &(&1+2) 
    |> &(&1+3)
end

函数式编程语言中的if语句和普通的命令式编程语言的if语句有何不同?

答: 函数式编程语言中的if语句是会返回值的, 而命令式编程语言中是不会返回值的

if 1==1 do 1 else 2 end

面向对象的编程人员如何使用函数式编程语言

答:

  1. 使用函数完成封装
  2. 参数作为一种模式, 处理对应的数据
  3. 连续函数的组合, 完成命令式的顺序求值
  4. 使用模块封装多个函数