- 方法调用的最外层括号可以省略
- 函数最后一行默认有return
- hash处于一个函数最后一个参数的时候大括号可以省略
Apple.create :name => ‘apple’,:color =>’red’
Apple.create({:name => ‘aplle’,:color =>’red’})
Apple.create name:’apple’,color:’red’ 调用block
Apple.all.map { |apple| apple.name }
Apple.all.map (&:name)Module
- 不能别new
- 不能被include
- module 中的 self.xx 方法可以被直接调用(不建议)
- module 中的普通方法,需要被某个class include 之后,由对应的class调用
['jim','li_lei','han_mei_mei'].each do |name|define_method "say_hi_to_#{name}" doputs "hi,#{name}"endend
想知道 第一行中 |name| 这种写法是定义遍历前面数组的参数的意思么?我猜的
:: 开头的是类方法 可以直接调用
# 开头的是实例方法 需要new