ruby进阶
2018-04-12 本文已影响0人
Joke_Ape
ruby中的简写
1. puts "hihihi" #等同于 puts("hihihi")
2.每个函数的最后一行默认是返回值,不用写return的
3.hash最外层的{}在大多数情况下可以省略
Apple.create :name=>'apple', :color=>'red' 等同于 Apple.create({:name=>'apple', :color=>'red' }) 或者 Apple.create name=>'apple', color=>'red'
4.调用block 调用某个block中的某个方法: Apple.all.map { |apple| apple.name }
等同于 Apple.all.map(&:name)
Module 它能用来把各种方法提炼出来,供其他class引用
不能被new
可以被include
module中的self.xx方法可以直接被调用
module中的普通方法,需要被某个class include 之后由对应的class调用
例如:
元编程
每个语言都多少有些动态改变代码的逻辑能力,但ruby的元编程能力是最强的,用起来也是最省心顺手的。
ruby元编程可以让我们做到其他传统语言无法做到的事,推荐阅读 《Ruby 元编程》
例如:
give 方法有几个参数?
give "我", :what => '咖啡', :count => '2', :unit => '杯' do
"味道不错"
end
可以看出 有三个参数
give(
"我",
{:what => '咖啡', :count => '2', :unit => '杯' },
do "味道不错" end # block
)