運算符 | 說明 |
==和!= | 比較兩個對象的值是否相等,a=1,b=1.0,a==b(true) |
eql? | 比較兩個對象的值是否相等和數據類型是否一致,a=1,b=1.0,a.eql?b(false,a為Fixnum類型,b為Float類型) |
eqlal? | 比較兩個對象在內存中的地址是否一致,a=1,b=1,a.eqlal?b(false,在內存中是2個對象,地址不一樣),a=1,b=a,a.eqlal?b(true) |
=> | 比較兩個對象的值的大小,對應返回1(大于),0(等于),-1(小于) |
>,>=,=, | 比較兩個對象的值的大小,返回true和false |
=== | 區間包含關系運算符,右邊對象是否在左邊區間的范圍之內 |
=~和!~ | 正則表達式匹配運算符,表示匹配和不匹配正則表達式 |
5、輸出和輸入
Ruby 語言 中自帶的IO輸入輸出方法寫在Kernel 模塊的內,并且Mix-in 在根類Object中,在任意類中使用輸入輸出方法,可以直接進行調用,
輸出方法代碼示例:
print可以加參數可以輸出到文件,默認輸出到控制臺,printf是按格式輸出,如上代碼中,%.2f的意思是第一個參數按Float類型輸出,保留2位小數,%s是第二個值按String類型輸出,print "Hello!\n"和print 'Hello\n'的區別在于,""號對輸出內容進行解析,\n起換行作用,''號原樣輸出內容,\n被原樣輸出,沒起換行作用,puts方法的參數是可變參數,可以有零個或者多個參數,參數間空格則輸出不換行,參數間用“,”分割,則每輸出一個參數都換行;
輸入方法,gets用于接收用戶輸入的字符串,在字符串的末尾會自動加上一個換行符,所以一般在使用gets方法獲取輸入數據時,會同時使用chomp方法去掉末尾的換行符
6、條件判斷
條件判斷可以使用if else,unless,case進行,不同的情況使用不同的關鍵字,可以讓代碼更簡潔易懂,如下示例代碼:
7、循環
Ruby的循環功能相當強大,除了通用的while、until、for循環,還有each、times、upto、downto、step等,針對不同的循環對象使用不同的循環方式,異常方便,示例代碼如下:
j=10..20
#使用for進行對象的全循環,對象可以是數組、范圍、Map等集合形式,但是Ruby官方不推薦過多使用for循環,可以使用each進行替代,因為for循環沒有新開作用域,其中定義的變量在循環體外可以訪問,如下邊循環中的變量t,可以在for循環外訪問
for t in j
puts t
break if t==17 #當循環到t等于17時,跳出整個循環
end
#更好的方式:使用each進行遍歷
#單行代碼塊使用{}
j.each { |e| puts e }
#多行代碼塊使用do end
j.each do |e|
next if e==17 #e等于17時跳出本次循環,繼續e等于18的循環
puts e
end
#既定次數的循環,可以使用times
5.times{ |e| puts e } #e值從0開始
#具有順序的排列可以使用upto或者downto進行遍歷
'a'.upto('z') { |e| puts e unless ('h'..'n')===e} #遍歷a-z之間的英文字符,當e不在h-n之間的字母時,輸出
9.downto(1) do |e|
print "#{e}的平方值:#{e**2},#{e}的次方值:#{e**3}"
puts
end
#步長相同的遞增循環可以使用step
1.step(100,3){ |e| puts e}
標簽:西雙版納 克拉瑪依 大慶 河池 南昌 棗莊 甘孜 內江
巨人網絡通訊聲明:本文標題《Ruby的基本語法學習總結》,本文關鍵詞 Ruby,的,基本,語法,學習,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。上一篇:Ruby中的方法(函數)學習總結