[原创]5天玩会ruby

    添加时间:2013-7-14 点击量:

    既然已经写了3天玩会python,那天然少不了ruby,感触感染给ruby三天时候有点太嚣张了,毕竟?成果ruby是有zen(禅宗)的。


    1 还是和大师say hello



    print Welcome to ruby
    
    puts
    Welcome to ruby


    为什么有两个呢,因为print不换行,puts换行。


    2 变量



    name=hymenz


    3 everything is class



    hymenz.length
    hymenz.reverse
    hymenz.upcase
    HYMENZ.downcase


    4 写个注释



    I am a comment
    =begin
    I am comment too
    =end



    5 把握流程



    if true
    
    puts
    right
    elsif false
    puts
    error
    else
    puts
    none
    end

    puts right if true


    6 轮回



    while true
    
    puts
    hymenz
    end



    for i in 1..10
    
    puts i
    end

    for i in 1...10
    puts i
    end


    上方两个for不是一样的吗,再细心看看,一个是1..10,而另一个是1...10,有什么差别本身尝尝吧



    loop {puts hymenz}


    7 神奇的数组和不得不会的.each



    [1,2,3,4,5]                貌似没什么希罕希罕啊,别急
    
    [1,2,3,4,5][2..3] 有点意思了
    [1,2,3,4,5][2...3] 在前面见过的哦
    [1,2,3,4,5].each{|x| puts x} ruby的魂灵


    8 .times



    10.times{puts hymenz}


    9 在双引号中找回我的变量



    name=hymenz
    
    puts
    hello #{name}


    10 类型转换



    puts 24.to_s+hymenz
    puts 12.to_i


    11 字典或者叫HASH



    d={name=>hymenzage=>24,sex=>male}
    d.each{|x,y| puts x+:+y.to_s}
    d.each{|x,y| puts #{x}:#{y}}


    12 函数



    def hello
    
    puts
    hello
    end

    hello  #函数调用


    13 警惕感慨号



    list=[2,6,8,1,10,57,32,2,76,5,1]
    
    puts list.sort
    puts list
    puts list.sort!
    puts list


    有些办法加上感慨号会改变原始的信息,如许的景象同样产生在hymenz.reverse!上方


    14 symbol标签


    symbol是什么,我的懂得是和汇编里的label:差不久不多,标识指定地位的内存地址。



    d={:sym=>content}
    


    15 换种风格写



    d={sym:content}  #same as d={:sym=>content}


    16 .



    [1,2,3,4,5,6,7,8,9,10].{|x| x%2==0}


    17 连接字符串



    puts hymenz+ds
    
    puts
    hymenzds
    puts hymenz<<ds  #后面会讲到


    18 .each_key和.each_value



    {one:1,two:2}.each_key{|x| puts x}
    
    {one:
    1,two:2}.each_value{|x| puts x}


    19 换个办法写if



    puts hymenz if true


    20 多种选择用case



    case language
    
    when
    Python
    puts
    you chose python
    when
    Ruby
    puts
    you chose ruby
    else
    puts
    I dont know!
    end


    21 .push和<<



    [1,2,3].push 4
    
    [
    1,2,3]<<4


    22 类



    class Hymenz
    
    def initialize(name)
    @name
    = name
    end
    public #鄙人面申明
    def description
    puts
    I am #{@name}
    end
    end

    ds=Hymenz.new(hymenz)
    ds.description


    23 持续



    class SpecialHymenz < Hymenz; end

    sds=SpecialHymenz.new(specialhymenz)
    sds.description


    24 public和private


    见22


    25 引入模块



    require socket


    26 获得用户的输入



    name=gets.chomp
    
    puts
    your name is #{name}


    27 更多的内容


    拜见http://www.codecademy.com/zh/tracks/5059f8619189a5000201fbcb


    彼此相爱,却不要让爱成了束缚:不如让它成为涌动的大海,两岸乃是你们的灵魂。互斟满杯,却不要同饮一杯。相赠面包,却不要共食一个。一起歌舞欢喜,却依然各自独立,相互交心,却不是让对方收藏。因为唯有生命之手,方能收容你们的心。站在一起却不要过于靠近。—— 纪伯伦《先知》
    分享到: