2>动态能力,ruby不仅是1>中提到的开放了所有的权限,更是连语法解析器都开放了一部分,于是你还可以参与构建语法树AST的一部分工作。
比方说,我们(python和ruby)都来动态的创造一个函数,耦合一个类实例的两个方法,需求是第一个方法执行的结果作为参数来调用第二个方法。
python中的做法就有点类似于java,利用反射api来实现。
obj = Klass()
def dynamic_method(_self, *args, **kwargs):
method1 = getattr(Klass, "func1")
method2 = getattr(Klass, "func2")
res1 = method1(obj, *args, **kwargs)
res2 = method2(obj, res1)
return res2
bind_attr(Klass, dynamic_method)
乍一看,似乎并没有什么问题,流程清晰。但是,我们似乎没有想过
因为ruby适用范围较窄。
Ruby明显比其他类似的编程语言年轻,又因为Ruby是日本人发明的,所以早期的非日文资料和程序都比较贫乏,所以在网上仍然可以找到类似“Ruby的资料太少”之类的批评。
在Ruby语言中,任何东西都是对象,包括其他语言中的基本数据类型,比如整数变量没有类型,Ruby的变量可以保存任何类型的数据。任何东西都有值,不管是数学或者逻辑表达式还是一个语句,都会有值。ruby语言很优雅,可以做到不需要注释就可以读懂。
ruby语言特点:
Ruby 是开源的,在Web 上免费提供,但需要遵守开源软件协议。
Ruby 是一种通用的、解释的编程语言。
Ruby 是一种真正的面向对象编程语言。
Ruby 是一种类似于 Python 和 Perl 的服务器端脚本语言。
Ruby 可以用来编写通用网关接口(CGI)脚本。
Ruby 可以被嵌入到超文本标记语言(HTML)。
Ruby 语法简单,这使得新的开发人员能够快速轻松地学习 Ruby。
这样看“漂亮”的标准怎么定义。。。。如果以语法最规范,接近各大语言改进的标杆为标准,最漂亮的语言是C#
如果以特殊符号少,格式接近人类写信为标准,最漂亮的语言是PYTHON
如果追求,字母与符号的数量最少,最漂亮的语言是RUBY