zoukankan      html  css  js  c++  java
  • 【转】Ruby入门教程(一)

    1. Ruby环境搭建

      在Windows下,搭建Ruby环境,比较简单的方法是在“RubyInstaller”上下载一个合适的版本(D瓜哥使用的是最新版),直接安装就可以了。

      另外,吐槽两句,网上有人说Windows不适合搞Ruby开发,刚开始D瓜哥不信,昨天因为搭建Ruby on Rails的环境,Mysql数据库的驱动死活安装不成功!太折腾人了。所以,如果真的想玩Ruby,还是使用Linux系统吧。

    2. Ruby的注释

      和其他常见编程语言一样,Ruby也分为“单行注释”和“多行注释”。不同的是,Ruby使用的注释符号和Java、C/C++等编程语言不一样。

      另外,Ruby偏好使用单行注释:

    # This is a comment line
    # This is a comment line
    

      Ruby中,多行注释比较少见,D瓜哥是接触Ruby十几天后才知道多行注释的语法,之前一直在纳闷多行语法该怎么写。

    =begin
    This is comment.
    This are two comments.
    =end
    

      上述代码中,高亮的两行代码是注释的开头和结尾,这两行的开头必须和上述代码保持一直,否则报错。经过D瓜哥的测试,开头后面可以添加注释。

    3. Ruby变量

      Ruby变量的命名有自己的特点:变量的第一个字母是用来表明变量用途。具体情况如下:

    1. 局部变量,方法参数和方法名通常都是以小写字母或者下划线开头的;
    2. 全局变量以$开头;
    3. 实例变量以@开头;
    4. 类变量以@@开头;
    5. 类名,模块名和常量以大写字母开头。

      Ruby变量的命名规则是:变量名是以小写字母或者下划线开始(D瓜哥在IRB中测试,也可以使用$开头,但是使用_$开头就会报错;使用$_开头没有问题),其后由大小写英文字母,数字和下划线组成。变量名是区分大小写的,变量名的字符长度没有限制。另外,需要注意的是,给变量命名的时候,尽量遵守上面的根据变量首字母分类的约定。D瓜哥认为:变量的命名,可以反应出一个程序猿的代码素养。

    mystr = "Are you ready?" #局部变量
    
    class Person #类名
        @@year = 2013    #类变量
    
        def initialize(name)    #构造函数        
            @name = name     #示例变量
        end
    
        def name    #方法名
            @name
        end
    
        def name=(name)
            @name = name
        end
    end
    
    puts mystr
    

    4. 数组  

    废话少说,直接上代码。

    ##1. 数组定义
    arr1 = []
    arr2 = Array.new
    arr3 = ['1', '2', '3']
    
    ##2. 输出
    puts "Output: 
    "
    print arr3, "
    " #输出: ['1', '2', '3']
    puts arr3[0]    #输出:1
    print arr3.join(",")  #输出:1,2,3
    
    ##3. 访问数组元素
    puts "
    Array Element
    "
    p arr3[0]
    p arr3[-1]  #输出最后一个数据
    p arr3.first
    p arr3.last
    p arr3.max
    p arr3.min
    p arr3.length
    p arr3.size
    
    ##4. 数组操作
    puts "
    Array method
    "
    p arr3[4] = '5'    #此时arr3[3]默认为nil
    p arr3.delete_at(3)    #删除指定下标的元素
    p arr3[2] = ["3a", "3b", "3c"]
    p arr3.delete(["3a", "3b", "3c"])
    p arr3.push('6')
    p arr3.insert(3, 'b')
    p arr3<<"f"<<2        #从左到右依次加入元素
    p arr3.pop        #删除尾元素
    p arr3.shift       #删除首元素
    p arr3.clear
    
    ##5. 数组运算
    p "Array Operator"
    aaa = ["aa", 4, 5, "bb"]
    bbb = [4, 1, 3, 2, 5]
    p aaa + bbb    #输出:["aa", 4, 5, "bb", 4, 1, 3, 2, 5]
    p aaa * 2      #输出:["aa", 4, 5, "bb", "aa", 4, 5, "bb"]
    p bbb - aaa    #输出:[1, 3, 2]
    p aaa | bbb    #输出:["aa", 4, 5, "bb", 1, 3, 2]
    p aaa & bbb    #输出:[4, 5]
    p bbb.sort     #输出:[1, 2, 3, 4, 5]
    p aaa.reverse    #输出:["bb", 5, 4, "aa"]
    p bbb.sort.reverse
    

      由于Ruby的迭代器及其强大,在Ruby编程中,利用数组的这些函数再加上迭代器可以写出非常“炫”的代码!

      这一节,D瓜哥介绍了Ruby中的注释、变量声明以及数组操作。下一节,D瓜哥将介绍Ruby中的字符串、判断语句以及循环语句等。敬请继续关注!

    参考资料

    1. Ruby 类的属性、变量、常量和方法定义
    2. Ruby程式語言入門
    3. Ruby数组操作的总结
    4. Ruby字符串处理函数总结列表分享


    作 者: D瓜哥,http://www.diguage.com/
    原文链接:http://www.diguage.com/archives/92.html
    版权声明:非特殊声明均为本站原创作品,转载时请注明作者和原文链接。
  • 相关阅读:
    _ 下划线 Underscores __init__
    Page not found (404) 不被Django的exception中间件捕捉 中间件
    从装修儿童房时的门锁说起
    欧拉定理 费马小定理的推广
    线性运算 非线性运算
    Optimistic concurrency control 死锁 悲观锁 乐观锁 自旋锁
    Avoiding Full Table Scans
    批量的单向的ssh 认证
    批量的单向的ssh 认证
    Corrupted MAC on input at /usr/local/perl/lib/site_perl/5.22.1/x86_64-linux/Net/SSH/Perl/Packet.pm l
  • 原文地址:https://www.cnblogs.com/sunada2005/p/3481239.html
Copyright © 2011-2022 走看看