好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > Ruby的基本語法學習總結

Ruby的基本語法學習總結

熱門標簽:柯城手機地圖如何做地圖標注 外呼線路從哪里出來的 中牟外呼系統違法嗎 AI電銷機器人 線路 漯河電銷 征服者企業地圖標注 巫師3地圖標注魔力之所 淮安自動外呼系統供應商 天津外呼系統怎么收費

1、關鍵字

關鍵字不能用于定義變量或者常量,module,class,def , undef,defined?,if ,then,else,elsif,case ,when,unless,for,in,while ,until,next,break,do,redo ,retry,yield,not,and,or,true,false,nil,rescue,ensure,super,self,begin,end,BEGIN,END,__FILE__, __LINE__,return,alias

2、注釋

單行注釋以#開頭,如:#這是注釋語句
多行注釋以=begin開頭,以=end結束,如:

復制代碼 代碼如下:

=begin
block_test = lambda {puts 'This is from lambda!'}
def block_foo(bt)
 puts 'Before yield!'
 bt.call
 puts 'After yield!'
end
block_foo(block_test)
=end

3、數據類型

Ruby中以下種數據類型 :Numeric(包括Fixnum和Float)、String、Boolean、Array、Regexp、Range、Hash,還有一種特殊類型:Symbol

4、賦值和條件運算

Ruby中的賦值使用“=”,可以進行批量賦值,如a,b,c=1,2,3
Ruby中的條件運算,如下列表:

運算符 說明
==和!= 比較兩個對象的值是否相等,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 'Hello!'   #輸出:Hello!
print "Hello!\n"  #輸出:Hello!
printf 'Number: %.2f, String: %s',14.547,'hi!' #輸出:Number: 14.55, String: hi!
print "\n"
puts 'Hello!' 'hi'  #輸出:Hello!hi
puts 'Hello!','hi'  #輸出:Hello![換行]hi

print可以加參數可以輸出到文件,默認輸出到控制臺,printf是按格式輸出,如上代碼中,%.2f的意思是第一個參數按Float類型輸出,保留2位小數,%s是第二個值按String類型輸出,print "Hello!\n"和print 'Hello\n'的區別在于,""號對輸出內容進行解析,\n起換行作用,''號原樣輸出內容,\n被原樣輸出,沒起換行作用,puts方法的參數是可變參數,可以有零個或者多個參數,參數間空格則輸出不換行,參數間用“,”分割,則每輸出一個參數都換行;

輸入方法,gets用于接收用戶輸入的字符串,在字符串的末尾會自動加上一個換行符,所以一般在使用gets方法獲取輸入數據時,會同時使用chomp方法去掉末尾的換行符

復制代碼 代碼如下:

STDOUT.flush
in_data = gets.chomp

6、條件判斷

條件判斷可以使用if else,unless,case進行,不同的情況使用不同的關鍵字,可以讓代碼更簡潔易懂,如下示例代碼:

復制代碼 代碼如下:

r=rand*100
rf=format('%.2f',r)
#普通寫法
if r>50 then puts "得分:#{rf}" end
#更好的寫法
puts "得分:#{rf}" if r>50
#判斷if not的時候,請使用unless,下一句代碼和上一句代碼等價
puts "得分:#{rf}" unless r=50
#多條件判斷
if r50
 puts "得分:#{rf} 成績:不合格"
else
 puts "得分:#{rf} 成績:良好"
end
#更多條件
if r>90
 puts "得分:#{rf} 成績:優秀"
elsif r>70
 puts "得分:#{rf} 成績:良好"
elsif r>50
 puts "得分:#{rf} 成績:合格"
else
 puts "得分:#{rf} 成績:不合格"
end
#更好的方式,采用case分支語句,when后邊的條件用了Range,Ruby自動使用===進行判斷
case r
when 90..100
 puts "得分:#{rf} 成績:優秀"
when 70..90
 puts "得分:#{rf} 成績:良好"
when 50..70
 puts "得分:#{rf} 成績:合格"
else
 puts "得分:#{rf} 成績:不合格"
end

7、循環

Ruby的循環功能相當強大,除了通用的while、until、for循環,還有each、times、upto、downto、step等,針對不同的循環對象使用不同的循環方式,異常方便,示例代碼如下:

復制代碼 代碼如下:

i=0
#普通while循環
while i10
 i+=1
 puts i
end
#單句代碼的while循環
puts i+=1 while i10
#單句代碼的until循環,until==while not
puts i+=1 until i==10

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編程中的語法使用風格推薦
  • Ruby基礎語法初探
  • Ruby中一些基本語法知識點的羅列匯總
  • ruby聲明式語法的實現例子
  • ruby 學習筆記(1) 初識語法
  • Ruby的語法和語言特性總結

標簽:西雙版納 克拉瑪依 大慶 河池 南昌 棗莊 甘孜 內江

巨人網絡通訊聲明:本文標題《Ruby的基本語法學習總結》,本文關鍵詞  Ruby,的,基本,語法,學習,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Ruby的基本語法學習總結》相關的同類信息!
  • 本頁收集關于Ruby的基本語法學習總結的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 乌拉特前旗| 欧美大片在线视频免费观看| 精品久久久久中文字幕app| 国产AV?白丝?欧美| 美国大片黄色| 中文字幕专区| 国产一a毛一a毛A免费看图| 日本黄大片在线观看视频| 男女做爰猛烈叫床的姿势| 国产精品99久久久久久精品小说| 91精品国产高跟肉丝袜在线 | 亚洲成人在线播放| 国精产品秘?天美一区| 国产成人综合久久精品尤物| 精品视频麻豆网站| 任你爽任你鲁在线精品视频 | 青青青青手机在线视频观看国产| 日产无码久久久久久精品男男| 91精品欧美久久久久久风间由美| 打屁股女贝网网站入口| 办公室激情扒衣服吻胸| 工口里番肉侵犯全彩无码| 双性打开双腿调教含玉势| 免费看国产曰批40分钟无码| 91麻豆精品国产自产在线观看,| 99re在线播放视频| 艹死你h| a呀v天堂| 巜丰满的欲妇2在线观看| 国产精一二三区aⅴ无码| 嗯啊再快点| 泉州市| 少妇婬乱AAAA片一级蜜臀| 激情乱轮| 国产精品视频第二区第二页| 国模在线一区二区三区| 日本高清二三四本2021第九页| 无码人妻一区二区三区在线视频 | 国产一级特黄| 巨胸爆乳喷奶水www免费观看| 欧美3D动漫另类XX在线|