基本的ruby語法
閱讀量(729) | 轉載 於 2010-06-10 12:39:57
初學Ruby,收集點Ruby的語法,收藏,便於以後查閱。轉載的原文出處無法考證了,感謝前人總結出如此清晰地文摘,以表格的形式,描述ruby多樣的語法,結果使人印象簡單明瞭,對記憶有很多大的幫助。
變量類型 | 描述 | 示例 |
局部變量(或僞變量) | 以小寫字母或下劃線卡頭 | var _var |
全局變量 | 以$開頭 | $var |
類變量 | 類中定義,以@@開頭 | @@var |
實例變量 | 對象中定義,以@開頭 | @var |
常量 | 以大寫字母開頭 | Var |
a = 2 b = 3 puts "#{a} + #{b} = #{a+b}" #輸入結果爲:2 + 3 = 5 |
If 形式 | unless 形式 |
a =1 if y==3 | a=1 unless y!=3 |
x= if a > 0 then b else c end | x= unless a<=0 then a else b end |
if x<5 then a =1 else a =2 end | unless x<5 then a =2 else a =1 end |
#while循環 i= 0 while i< list.size do print “#list[i] ” I += 1 end | #until循環 i= 0 until i == list.size do print “#list[i]” i += 1 end |
#for循環 for x in lisy do print “#{x}” end | #each循環 list.each do |x| print “#{x}” end |
#loop循環 i = 0 n = list.size-1 loop do print “#{list[i]}” i += 1 break if i > n end | #times循環 n = list.size n.times do |i| print “#{list[i]}” end |
#upto循環 n =list.size–1 0.upto(n) do |i| print “#{list[i]}” end | #each_index循環 list.each_index do |x| print “#{list[x]}” end |
begin x = Math.sqrt(y/z) rescue ArgumentError #匹配錯誤類型 puts "Error taking square root" rescue ZeroDivisionError #匹配錯誤類型 puts "Attempted division by zero" else puts "Other Error" ensure #這部分代碼在最後一定會執行 end |
class Hello #類名必須以大寫字母開頭 @@myname = "John" #類變量
def initialize(name,phone) @name,@phone = name,phone #定義實例變量 end
def hello #定義類方法 puts "#{@name}的電話是#{@phone}" end end
f = Hello.new("Tom","13100000000") #創建類對象 f.hello #調用類方法,結果爲:Tom的電話是13100000000 |
方法 | 說明 |
include ‘watir’ | 將模塊的功能添加到當前空間中,不加載已加載的文件 |
extend ‘watir’ | 將模塊的函數添加到對象中 |
load ‘watir’ | 讀取文件,並將其插入到源文件的當前位置,以便從這個位置開始就可以使用其定義 |
case x when 1..10 #匹配數字 puts "First branch" when foobar() #批量方法返回的值 puts "Second branch" when /^hel.*/ #匹配正則表達式 puts "Third branch" else puts "Last branch" end |