Ruby真的可以用作功能语言吗?
发布时间:2020-12-16 22:28:40 所属栏目:百科 来源:网络整理
导读:Ruby真的可以用作功能语言吗?教授这个方面的一些好的教程是什么?注意:我真的想使用和坚持Ruby作为我的主要语言,所以我不感兴趣转换为YAFL(另一种功能语言).我对Ruby的功能方面对标准功能语言基线的表现感兴趣.谢谢. 解决方法 是的… Ruby缺乏一个合理的结
Ruby真的可以用作功能语言吗?教授这个方面的一些好的教程是什么?注意:我真的想使用和坚持Ruby作为我的主要语言,所以我不感兴趣转换为YAFL(另一种功能语言).我对Ruby的功能方面对标准功能语言基线的表现感兴趣.谢谢.
解决方法
是的… Ruby缺乏一个合理的结构来强制实现不变性. (对象#冻结不计数)不变性真的是功能语言的基石.此外,Ruby的核心库非常面向强制性设计.它的Array和Hash类本质上都是可变的,即使String也有使不可变的方法(例如gsub!).讽刺的是,Java在这方面比Ruby更“功能”.
就这样说,可以在Ruby中执行类似功能的编程.任何时候使用block / proc / lambda,你都使用功能编程的功能.同样,地图和zip等收集方法也是高阶构造,它们的根源在于Lisp,ML和Haskell等语言. 如果你真的想做功能性编程,你将需要使用一种更符合这种类型的语言.一些建议: > Clojure – 由于您使用Ruby表达了这个问题,我猜你是动态类型的说服力. Clojure就像一个在JVM上运行的严格功能的Lisp. 您会注意到,这四种语言中的三种是静态类型的.事实上,在Scala和Haskell的情况下,这些是非常静态的类型语言(比Java更强大的类型系统).我不知道为什么这是功能语言的一个趋势,但是你有这个趋势. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |