为什么函数式编程的函数最后一行作为返回值?
答: 返回值这个东西说法不是很好, 应该叫做结果值, 因为函数式编程的核心为一切都是表达式, 一切都是表达式求值的结果, 而函数就是作为一种表达式被求值, 最后一行就是最后的结果, 我们可以看下面这行代码:
def add(a) do
a
|> &(&1+2)
|> &(&1+3)
end
函数式编程语言中的if语句和普通的命令式编程语言的if语句有何不同?
答: 函数式编程语言中的if语句是会返回值的, 而命令式编程语言中是不会返回值的
if 1==1 do 1 else 2 end
面向对象的编程人员如何使用函数式编程语言
答:
- 使用函数完成封装
- 参数作为一种模式, 处理对应的数据
- 连续函数的组合, 完成命令式的顺序求值
- 使用模块封装多个函数