zoukankan      html  css  js  c++  java
  • ruby

    Ruby是服务器端脚本语言,是一个日本人在1993年创建的,Ruby是开源的、解释性的、面向对象的、语法简单的语言。


    Ruby一般都是从命令行运行,所以命令行选项有:

    • -a 与-n和-p一起使用时,可以打开自动拆分模式。
    • -c 只检查语法,不执行程序。
    • -C dir 在执行前改变目录
    • -d 启动调试模式(等价于 -debug)
    • -F pat 指定pat作为默认的分离模式
    • -e prog 指定prog作为程序在命令中执行。可以指定多个-e选项,用来执行多个程序
    • -h 显示命令行选项的一个概览
    • -i 把文件内容重写为程序输出
    • -I dir 添加dir作为加载库的目录
    • -v 显示版本
    • ....

    所有的Ruby文件扩展名都是.rb,比如可以把下面的代码放在test.rb中:

    #!/usr/bin/ruby -w
     
    puts "Hello, Ruby!";

    希望运行这个ruby文件,只需要执行下面的命令:

    ruby test.rb

    Ruby中是大小写敏感的。

    Ruby中的BEGIN和END语句使用如下所示:

    #!/usr/bin/ruby
     
    puts "这是主 Ruby 程序"
     
    END {
       puts "停止 Ruby 程序"
    }
    BEGIN {
       puts "初始化 Ruby 程序"
    }

    BEGIN中的语句会在程序的最开始运行,END中的语句会在程序的结束时运行;

    Ruby中的注释符号为#,如下所示:

    name = "foo" # 这是注释
    #这也是注释
    =begin
    这是注释
    这些都是注释
    =end

    Ruby数据类型有Number、String、Ranges、Symbols以及true/false/nil这几个特殊值,同时还有更重要的数据结构 -- Array和Hash。

    Number数据类型中有整型(Integer)和浮点型(float),字符串类型就是'foo'类似的普通字符串类型,还支持一些反斜线符号,数组即 ['foo', 10, 3.14, 'this is a string']等,即可以是任意的类型,哈希类型就是 colors = { "red" => oxf00, "grenn" => 0x0f0, "blue" => 0x00f } ,由此可见,Ruby这门语言也是非常松散的,约束性不强,这样对于一些小项目发挥空间会更大一些;最后范围类型就是指一个区间,比如 (1...5)意味着包含值1,2,3,4,5。

    Ruby是一种完美的面向对象的变成语言,面向对象编程语言的特性包括数据封装、数据抽象、多态性、继承等。以车辆为例,包括车轮、马力、燃油等数据成员,包括暂停、驾驶、超速等函数,所以,就可以定义Vehicle这个类如下所示:

    Class Vehicle
    {
       Number no_of_wheels
       Number horsepower
       Characters type_of_tank
       Number Capacity
     
       Function speeding
       {
       }
     
       Function driving
       {
       }
       
       Function halting
       {
       }
    }

    通过给这些数据成员分配不同的值,就可以创建Vehicle的不同实例。

    在Ruby中定义类如下:

    class Customer
    end

    即可以使用end终止一个类,类中所有数据成员都是介于类定义和end关键词之间。

    Ruby中的变量有四种:

    • 局部变量 - 就是在方法中定义的变量,在方法外不可用,局部变量以小写字母或者_开始
    • 实例变量 - 实例变量可以跨任何特定的实例。实例变量在变量名之前放置@符号。
    • 类变量 - 即可以跨不同的对象使用。类变量属于类,且是类的一个属性。类变量在变量名之前放置@@符号。
    • 全局变量 - 类变量不能跨类应用,如果希望可以跨类使用的变量,就可以定义全局变量,全局变量总是使用美元符号 $ 开始的。

    Ruby中使用new方法创建对象,如下所示:

    cust1 = Customer. new
    cust2 = Customer. new

    Ruby中可以声明带参数的new方法,但是需要在类中声明方法 initialize,这是一种特殊类型的方法,将在调用带参数的类的new方法时执行,如下:

    class Customer
       @@no_of_customers=0
       def initialize(id, name, addr)
          @cust_id=id
          @cust_name=name
          @cust_addr=addr
       end
    end

    在这里,id、name、addr作为局部变量的initialize方法,def和end用于定义Ruby方法initialize。这就可以创建类的对象实例了:

    cust1=Customer.new("1", "John", "Wisdom Apartments, Ludhiya")
    cust2=Customer.new("2", "Poul", "New Empire road, Khandala")
  • 相关阅读:
    表单提交与后台PHP如何接口?
    json数组转普通数组 普通数组转json数组
    使用Memcache缓存mysql数据库操作的原理和缓存过程浅析
    int(3)和int(10)的区别
    CI 3.0.6 控制器打印base_url 地址不为 localhost的解决方法
    CI3.0控制器下面建文件夹 访问一直404 的解决方法
    http响应需要记住的状态码
    laravel 表单验证 正则匹配
    laravel 加中间件的方法 防止直接打开后台
    Laravel 设置时区
  • 原文地址:https://www.cnblogs.com/zhuzhenwei918/p/10199209.html
Copyright © 2011-2022 走看看