一 ruby是一門面向對象的語言
在建模過程中,分析要表達的事物,將他們歸類,抽象為對象,同時賦予他們一定的成員變量和對應的方法,然后通過對象與對象之間的消息傳遞來進行相關數據的處理。
person=Person.new #默認的構造方法
person.name # person的成員變量
person.sayhello("hello") # 調用方法
二 ruby的命名規則
- 局部變量名 方法參數名 和方法名都必須以小寫字母或者下劃線作為開頭,比如order . name等
- 實例變量名都要以@為前綴,比如@name 。
- 對于那些包含多個單詞的方法名和變量名 ,ruby 通常習慣于用下劃線來分割一個多次方法或者變量名中的單詞
- 類名模塊名和常量名都必須以大寫字母作為首字母。對于包含多個單詞的名稱,都是使用大寫字母而不是下劃線來區分單詞的開始。比如LineOrder
- rails 用符號(symbol)數據類型來標識事物,尤其是在命名方法參數和散列中查詢內容的時候,可以把符號作為關鍵字。
三 方法
def say_hello(name)
result="hello,"+name
return result # 這句話是可選的,如果沒有這句話,那么會返回本方法中的最后一個表達式的計算結果
end
#下面是調用這個方法
puts say_hello("daming") #puts 方法的作用是輸出并換行
四 數據類型
- 字符串
單引號: 處理的時候就是我們的文本
雙引號: 處理的時候會對文本進行轉義 - 數組
a=[1,'fff',:a] #聲明一個數組,數組中數據可以是任何數據類型
a[0] # 引用的時候通過索引來進行引用
a<<"addnum" #經常通過<< 將值追加到我們的接收器上。
- 散列:注意是花括號,然后是鍵值對進行存儲
b={
:cell => "hello",
:name=>"daming"
}
b[:name] #=>daming
- 正則表達式
正則表達式可以指定字符的模式,使其可以和字符串相匹配。
在ruby中可以使用代碼/pattern/ 或者%R{pattern}來生成正則表達式
line=~/python|java/ 判斷line中是否含有python或者是java
五 邏輯方法
- 控制結構
首先是if語句
if count>10
puts "count>10"
elsif count<3
puts "count<3"
else
puts "3<=count<=10"
end
其次是while
while a<10
a=a+1
puts a
end
- 代碼塊和迭代器
代碼塊是由花括號或者do...end以及其內部代碼構成的。
通?;ɡㄌ栔挥袉涡姓Z句的代碼塊,而do..end 用于多行語句的代碼塊
aninals=%w(ant bee dog elk) #構造數組
animals.each |a|
puts a
end
- 異常
方法和代碼塊都封裝在begin和end之間,并用rescue子句來阻攔某種異常類。
begin
content="aaa"
rescue Exception =>e
puts e
end