ruby-on-rails – 什么让Ruby成为优雅的语言?

过去几天我一直在阅读很多关于 Ruby内容.我遇到的每个SO帖子都会听到红宝石是一种优雅的语言.你能举个例子说明为什么红宝石比较优雅吗?

解决方法

它被认为是优雅的,因为它是正交的.这是一个奇怪的方法,说类似的操作适用于类似的操作数.

简单的例子:整数加上它们;在浮点数上,同上.大整数也是.在字符串上,它连接它们(你也会期待).现在这不是什么大不了的事情,你可以期望它来自任何体面的编程语言.但是有地图或过滤器这样的操作,他们可以在列表(他们应该!)上工作,但是它们也可以在数组上工作,实际上也可以被列举或迭代.

我喜欢数组(或列表)索引的工作原理,可以使用正整数索引从起始索引,或者使用负索引从结构的末尾指定一个位置,可以指定一个范围来拉出一个子集.这也适用于列表,数组和(子)字符串.它工作在赋值(=)的右侧,它在左侧工作(您可以分配到子字符串,从而替换字符串的一部分).所以你不需要一个substring_replace函数,你只是利用现有的一般概念.

Ruby的作者在满足用户(即程序员)的期望方面表达了这一点:尽可能少的惊喜,每当常识意味着你会以某种方式期待某件事情发生时,应该是这样.他非常努力地满足这一要求.此外,Ruby从Perl借来一点,作者不赞同Perl的TMTOWTDI原则,赞成Python的禅:“应该有一个,最好只有一个明显的方法.”

Ruby也关闭(=代码块)也很好,因此您可以通过将其包装在一对大括号中来指定函数.有一些适合于内联指定函数的地方,Ruby可以方便地进行.

Ruby允许您使用少量编码来执行操作,因为它的构造以强大的方式组合在一起.我在Project Euler发现,我经常发现Ruby中最简洁易懂的解决方案.最短的是在J,但这是一个APL方言,并且unenitiated它看起来像线噪音.

我的个人经验是这样的:我教自己的Ruby和Rails,并在一周内写了一个具有中等复杂数据分析的Web应用程序.我学到的每一个原则,我可以在不同的地方应用不同的数据 – 它只是工作™!

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...