在this comment ,据说 Ruby 没有函数,只有方法。如果Ruby没有函数,是不是就不能在里面做函数式编程了?还是我对“功能”一词感到困惑?
我指的是函数作为一流对象的意义上的“函数式编程”,而不是禁止可变状态。
最佳答案
Blocks 和 Procs 是一流的功能。您可以将它们传递给方法和函数。这就是 Ruby 能够支持 FP-ish 事物(例如 map 和 reduce)的原因。
更一般地,方法可以被视为具有额外关联状态(它的self
)的函数,但方法很少在 Ruby 中传递——尽管它们可以— 所以在实践中,它们对于 FP-ish 习语不如 block 和 Procs 重要。
关于ruby - 是否可以用没有函数的语言进行函数式编程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12290920/