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")
相關文章
相關標籤/搜索