函数式编程 读后感

 

一篇比较不错的文章: http://coolshell.cn/articles/10822.html

 

以使用Erlang的感觉看, 其具有很多函数式编程的优点与多线程支持的好处.

 

函数式编程主要具有如下特性:

  • 所有都可以转变成函数
  • 赋值后的变量在解释器层面具有不可变性
  • 尾递归优化

主要技术:

  • Map & Reduce
  • Pipeline
  • 递归
  • 参数与返回值均可以是函数

在Ruby中,可以吸取函数式编程带来的建议(Ruby Best practices):

  • 仅lamba表达式是用时求值,其它都是及时处理的
  • 在编码时,需要注意变量影响问题(grub!等会对变量自身进行改动)
  • 通过模块对函数块进行封装与管理
  • 通过空间换时间进行优化(Ruby Memorize API)

 

你可能感兴趣的:(Ruby)