Ruby中的简写
1,方法调用的最外层括号可以省略
puts "hihihi" #等同于puts("hihihi")
2,函数最后一行默认有return
def color
'red' #等同于: return 'red'
end
3,hash
Hash最外层的{}在大多数情况下可以省略
Apple.create:name=>'apple', :color=>'red'
#等同于:
Apple.create({:name=>'apple', :color=>'red'})
#等同于hash的另一种写法:
Apple.create name: 'apple',color:'red"
4,调用block
调用某个block中的某个方法:
Apple.all.map{ |apple| apple.name }
#等同于:
Apple.all.map(&:name)
Module
它用来把各种方法提炼出来,称其他class引用
1,不能被new(不能实例化)
2,可以被include
3,module中的 self.xx方法可以直接被调用(不建议使用)
4,module中的普通方法,需要被某个 classinclude 之后,由对应的class调用。
元编程
1,每个语言都多少有些动态改变代码逻辑的能力,但是ruby的元编程能力是最强的,用起来也是最的心应手的。
2,ruby元编程可以让我们做到其他传统语言无法做到的事。
查看API的方式
如何查看api
1,查看ruby API 和其他的语言差不多。官方文档时:api.ruby-lang.org
2,多google。
3,知道方法的基本用法。
4,有翻墙工具。(建议shadowsocks)
双冒号语法 ::
1,表示 class的常量
2,表示命名空间
代码块(block,proc,lambda)
三个有略微的差别,90%情况下可以互相转换。