基本的ruby語法
1. 基本的ruby語法
1.1 變量、常量和類型
1) 定義變量
變量類型 |
描述 |
示例 |
局部變量(或偽變量) |
以小寫字母或下劃線卡頭 |
var _var |
全局變量 |
以$開頭 |
$var |
類變量 |
類中定義,以@@開頭 |
@@var |
實(shí)例變量 |
對(duì)象中定義,以@開頭 |
@var |
常量 |
以大寫字母開頭 |
Var |
2) 變量內(nèi)插
在雙引號(hào)內(nèi)使用“#{變量名}”內(nèi)插變量
a = 2 b = 3 puts "#{a} + #{b} = #{a+b}" #輸入結(jié)果為:2 + 3 = 5 |
1.2 注釋
1)單行注釋:以#開頭,如: #注釋內(nèi)容
2)多行注釋:在=begin 和 =end 之間定義,如:
=begin
注釋內(nèi)容
=end
1.3 循環(huán)和分支
1.3.1 條件語句
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 |
1.3.2 循環(huán)結(jié)構(gòu)
#while循環(huán) i= 0 while i< list.size do print “#list[i] ” I += 1 end |
#until循環(huán) i= 0 until i == list.size do print “#list[i]” i += 1 end |
#for循環(huán) for x in lisy do print “#{x}” end |
#each循環(huán) list.each do |x| print “#{x}” end |
#loop循環(huán) i = 0 n = list.size-1 loop do print “#{list[i]}” i += 1 break id i > n end |
#times循環(huán) n = list.size n.times do |i| print “#{list[i]}” end |
#upto循環(huán) n =list.size–1 0.upto(n) do |i| print “#{list[i]}” end |
#each_index循環(huán) list.each_index do |x| print “#{list[x]}” end |
1.3.3 異常
begin x = Math.sqrt(y/z) rescue ArgumentError #匹配錯(cuò)誤類型 puts "Error taking square root" rescue ZeroDivisionError #匹配錯(cuò)誤類型 puts "Attempted division by zero" else puts "Other Error" ensure #這部分代碼在最后一定會(huì)執(zhí)行 end |
1.3.4 類
class Hello #類名必須以大寫字母開頭 @@myname = "John" #類變量
def initialize(name,phone) @name,@phone = name,phone #定義實(shí)例變量 end
def hello #定義類方法 puts "#{@name}的電話是#{@phone}" end end
f = Hello.new("Tom","13100000000") #創(chuàng)建類對(duì)象 f.hello #調(diào)用類方法,結(jié)果為:Tom的電話是13100000000 |
1.3.5 模塊
方法 |
說明 |
include ‘watir’ |
將模塊的功能添加到當(dāng)前空間中,不加載已加載的文件 |
extend ‘watir’ |
將模塊的函數(shù)添加到對(duì)象中 |
load ‘watir’ |
讀取文件,并將其插入到源文件的當(dāng)前位置,以便從這個(gè)位置開始就可以使用其定義 |
1.3.6 case語句
case x when 1..10 #匹配數(shù)字 puts "First branch" when foobar() #批量方法返回的值 puts "Second branch" when /^hel.*/ #匹配正則表達(dá)式 puts "Third branch" else puts "Last branch" end |
posted on 2009-01-18 11:02 so.java 閱讀(3668) 評(píng)論(1) 編輯 收藏