基本的ruby語法

基本的ruby語法

閱讀量(729)  |  轉載 於 2010-06-10 12:39:57

初學Ruby,收集點Ruby的語法,收藏,便於以後查閱。轉載的原文出處無法考證了,感謝前人總結出如此清晰地文摘,以表格的形式,描述ruby多樣的語法,結果使人印象簡單明瞭,對記憶有很多大的幫助。


以下是 轉載的原文:

1.1      變量、常量和類型
1)      定義變量

變量類型

描述

示例

局部變量(或僞變量)

以小寫字母或下劃線卡頭

var    _var

全局變量

$開頭

$var

類變量

類中定義,以@@開頭

@@var

實例變量

對象中定義,以@開頭

@var

常量

以大寫字母開頭

Var



2) 變量內插
  在雙引號內使用“#{變量名}”內插變量

a = 2

b = 3

puts "#{a} + #{b} = #{a+b}"  #輸入結果爲:2 + 3 = 5



1.2 註釋
1)單行註釋:以#開頭,如: #註釋內容
2)多行註釋:在=begin 和 =end 之間定義,如:
=begin
註釋內容
=end

1.3    循環和分支
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  循環結構

#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



1.3.3  異常

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



1.3.4  類

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


1.3.5  模塊

方法

說明

include ‘watir’

將模塊的功能添加到當前空間中,不加載已加載的文件

extend ‘watir’

將模塊的函數添加到對象中

load ‘watir’

讀取文件,並將其插入到源文件的當前位置,以便從這個位置開始就可以使用其定義


1.3.6  case語句

case x

 when 1..10              #匹配數字

    puts "First branch"

 when foobar()           #批量方法返回的值

    puts "Second branch"

 when /^hel.*/           #匹配正則表達式

    puts "Third branch"

 else  

    puts "Last branch"

end

發佈了82 篇原創文章 · 獲贊 15 · 訪問量 17萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章