学习ruby

背景:这两天因为要做logstash插件,所以需要学习一下ruby才能看懂这些插件的源码。


看了两天ruby的语法文档,ruby的语法很多地方都可以让我联想到其他的一些语言或者说规范:

  • ruby的位运算 --- C语言位运算
  • ruby中块的概念 --- nginx配置文件中的块
  • ruby的include引入“模块” --- nginx配置文件include引入文件
  • ruby用::引用类方法 --- c++中有类似的功能
  • ruby有here document 可以直接运行shell
  • ruby --- logstash插件

ruby的特点:

  • ruby中一切皆对象,一切皆有值,即使是一个表达式也有值(这一点我并没有理解到有什么意义)
  • ruby中做一件事往往有很多中方法,这与python一件事只用一种方法的理念不同,这导致ruby的语法非常灵活,但是有时候会显得有点乱。这一点我更喜欢python的哲学,因为我们可以把精力更多用在问题上。
  • ruby没有多继承,但是可以用mixin实现多继承
  • ruby中两个内容相同的字符串是两个不同的对象,对象地址也不同;但是两个内容相同的symbol对象,其对象地址是一样的。在python里,对于数值、字符串和元组等不可变对象来说,值相等的对象是引用同一个对象,其对象地址是相同的。

ruby学习资料
python对象内存
理解ruby Symbol对象

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。