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中:ruby

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

但愿运行这个ruby文件,只须要执行下面的命令:服务器

ruby test.rb

 

Ruby中是大小写敏感的。数据结构

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

#!/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。this

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。spa

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")
相关文章
相关标签/搜索