我喜欢函数式编程,我也喜欢Ruby . 如果我能够以功能样式而不是命令式样式编写算法,我会这样做 . 我倾向于不尽可能地更新或重用变量,避免使用"bang!"方法并使用"map","reduce"和类似函数而不是"each"或危险循环等 . 基本上我尝试遵循此article的规则 .

问题在于,通常情况是 much slower 解决方案是必要的解决方案 . 在这个问题中,有一些明确而可怕的例子,在某些情况下要慢15-20倍 . 阅读它并做一些基准后,我害怕继续使用功能样式,至少在Ruby中 .

另一方面,我觉得在函数风格中编写代码更舒服,因为它是智能和干净的,它往往更少的错误,我认为更“正确”,特别是现在我们可以使用并发和并行来获得更好的性能 .

所以我对Ruby中使用哪种样式感到很困惑 . 任何明智的建议将不胜感激 .