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

)

上一篇下一篇

猜你喜欢

热点阅读