国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院

首頁 > 編程 > Ruby > 正文

Ruby的基本語法

2020-02-24 15:36:27
字體:
來源:轉載
供稿:網友

初學Ruby的時候我們都需要認真掌握其基本語法,這樣我們才能在后面的Ruby學習過程中更加順暢,那么我們現在就去看看關于Ruby的基本語法內容吧。

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 r<50
?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 i<10
?i+=1
?puts i
end
#單句代碼的while循環
puts i+=1 while i<10
#單句代碼的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中的關鍵字、注釋、數據類型、賦值和條件運算、輸出和輸入等。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院
制服丝袜中文字幕在线观看| 日本视频在线| 国产无遮挡又黄又爽免费软件 | 国产探花在线观看| 最近中文字幕mv免费高清电影| 国产麻豆免费| 国产爆初菊在线观看免费视频网站 | 四虎网站在线观看| 免费视频中文字幕| 国产伦精品一区二区三区高清版禁 | 国产一区二区三区不卡免费观看| 国产三级视频| 午夜羞羞小视频在线观看| 九九久久久2| 在线中文字幕资源| 天天av综合网| 亚洲视频网站在线| 中文字幕中文字幕在线中高清免费版| 97在线超碰| 国产香蕉免费精品视频| 四虎精品成人a在线观看| 国产美女在线免费观看| 在线免费观看你懂的| 中文字幕免费在线视频| 亚洲国产精品区| 中文字幕在线永久在线视频| 爱福利在线视频| 影音先锋中文字幕在线| 国产激情在线| 国产美女av在线| 久久精品最新免费国产成人| 午夜性爽视频男人的天堂| 国产videos| 国产黄在线播放| 国产精品剧情一区二区在线观看| 九七电影韩国女主播在线观看| 精品视频三区| 精品极品三级久久久久| 国产成人精品久久一区二区小说| 国产精品自产拍在线网站| 亚洲欧美精品中文第三| 国产福利电影在线观看| 国产精品扒开做爽爽爽的视频| 自拍av在线| 国产一级片在线播放| 国产免费网址| 国产视频1区| 国产三区在线观看| 国产大学生粉嫩无套流白浆| 国产精品777一区二区| 五月婷婷在线视频| 99热在线免费观看| 国产视频资源| 精品全国在线一区二区| 91香蕉视频免费在线观看| 国产亚洲精品拍拍拍拍拍| 国产美女一区视频| 天堂在线亚洲| 国产欧美一区二区三区小说| 国产h在线观看| 亚洲成av人影片在线观看| а√天堂8资源在线官网| 久久精品视频免费看| 五月天亚洲激情| 伊人免费视频| 福利视频网址导航| 国产99re66在线视频| 亚洲尤物在线视频| 久久香蕉av| 99reav在线| 免费看ww视频网站入口| 国产精品免费91| 亚洲第一页在线播放| 好男人社区在线视频| 国产精品久久久久久久牛牛| sm国产在线调教视频| 天天av综合网| 轻轻色免费在线视频| 国产精品理人伦一区二区三区 | 国产成a人亚洲精v品| eeuss影院网站免费观看| 午夜av在线免费观看| 亚洲欧美精品日韩欧美| 国产亚洲依依| 国产免费福利| 超碰在线免费播放| 亚洲videos| 在线中文字幕视频| 最近高清中文在线字幕在线观看| 日本aⅴ写真网站免费| 国产国产人免费人成免费视频 | 九九99九九精彩| 亚洲欧美日韩综合精品网| 久久精品蜜桃| 免费视频二区| 欧美成人亚洲高清在线观看| av免费在线播放| 国产欧美一区二区三区小说| 国产网站av| 国产午夜精品一区理论片| 国产乱子视频| 国产一二区视频| 国产无遮挡又黄又爽免费软件| 国产秒拍福利视频露脸| 久热精品视频在线播放| 色综合久久五月天| 亚洲免费网站在线观看| 亚洲精品自产拍在线观看| 国产成人综合亚洲欧美在| 国产色a在线观看| 国产精品乱码一区二区三区视频 | 国产免费黄网站| 国产鲁鲁视频在线观看免费| 1区2区3区在线| 国产二区视频| 精品av中文字幕在线毛片| 中文日本在线观看| 在线国产91| 黄色毛片在线看| 2018av男人天堂| 国产福利在线视频| 国产国语**毛片高清视频| 国产激情小视频在线| 亚洲视频日韩| 国产一区在线视频观看| 国产精品国产国产aⅴ| ·天天天天操| 激情丁香婷婷| 9色在线视频网站| 丁香婷婷激情| 国产寡妇树林野战在线播放| 一级二级三级在线观看| 国产在线视频网站| 精品三级久久久久久久电影聊斋| 青青草免费在线视频| 国产一二三区在线视频| 精品一区二区三区在线观看l| 在线观看wwww| 国产网友自拍电影在线| 久久久久久91精品色婷婷| 国产黄色在线免费观看| wwwww在线观看免费视频| 国产精品合集一区二区| www在线免费观看视频| 国产aⅴ超薄肉色丝袜交足| 男女午夜视频在线观看| 精品久久av| 国产成人福利| 国产精彩视频在线观看免费蜜芽| 国产女呦网站| 97在线免费| 国产特黄在线| 国产另类图片| 白浆爆出在线观看| 中文资源在线官网| 国产黄色大片在线观看| 国产一级免费在线观看| 国产原创av在线| 黄色片av在线| 亚洲www色| www.av在线视频| 秋霞av在线| 白浆爆出在线观看| 青青草免费在线视频| 欧美黑人乱大交| 黄色一级视频网站| 国产永久免费高清在线观看| 国产自产视频| 国产秒拍福利视频露脸| 国产乱精品一区二区三区| 好看的中文字幕在线播放| 丁香视频五月| 国产精品白浆流出视频| 在线免费看黄av| 99reav在线| 天天插天天操| 啪啪免费视频一区| 九九免费视频| 国产黄色免费在线观看| 9色在线视频网站| www.毛片| 最近中文av字幕在线中文| 国产精品bbw一区二区三区| 91中文字幕| 超碰免费在线观看| 尤物视频在线免费观看| 国产成人天天5g影院| 亚洲精品白浆| 午夜免费福利在线观看| 国产美女视频一区二区二三区| 国产精品视频一区二区三区麻豆 | 高潮白浆视频| 伊人福利在线| 国产一二三区在线视频| av亚洲在线| 国产精品va在线观看视色| jizz国产| 国产成人综合亚洲欧美在| 狠狠干在线视频| 在线免费国产视频|