目前共有1篇帖子。
【教程】跟我從頭學腳本(六)
1樓 蓝晶の骑士 2011-2-10 23:41
轉載自:www.66rpg.com     

原作者:Dubealex      

        Near Fantastica(特別講)     

主講人(翻譯):frantice     
電子書製作:小湖      
 
第六講: 條件語句(上)


今天我們來學習條件語句,即常說的」If語句」
首先看兩句句子:
if my_variable=0     
if my_variable==0    
看出它們的區別了嗎?
後者是正確的,前者是錯誤的,這是Ruby的基本語法哦~~
好了,說完無關緊要的,我們來測試一下幾個例子:
例1:
class If_Statement_1 
 @@a_class_variable=10 
 def initialize 
   @@a_class_variable+=1 
   a_local_variable=13 
   if @@a_class_variable==a_local_variable 
     print "Yay, we are equal !" 
   else 
     print "Arg, it's not fair !" 
   end   
 end 
end 
腳本放入後事件中調用(應該很熟悉了吧~~):
If_Statement_1.new 
If_Statement_1.new 
If_Statement_1.new 
If_Statement_1.new 

出現什麼情況?
第三個窗口會是"Yay, we are equal !",因為我們每次調用這個類時都給它的值增加了1, 剛好第三次的時候這個類的值等於了局部變量,也就是@@a_class_variable==a_local_variable RMXP是按以下的程序運行的:
第一次:
@@a_class_variable=10+1 --> 得11
a_local_variable=13
IF語句判斷了兩個大小,從而得出他們不相等,於是它執行了else的情況. 
第二次:
@@a_class_variable=11+1 --> 得12
還是不相等,仍是else
第三次:
相等了,於是顯示 "Yay, we are equal !"
第四次以及以後:
都不相等,同1,2.

例2:
class If_Statement_1 
 @@a_class_variable=10 
 def initialize 
   @@a_class_variable+=1 
   a_local_variable=13 
   if @@a_class_variable==a_local_variable then print "Yay" else print "Arg" end 
 end   
end   
看到那行特別長的了嗎? 它是沒有錯誤的,因為我們可以把If語句寫在一行,當然了,不夠美觀不夠方便.它用於一些小場合.以下是另外兩個例子:

例3:
class If_Statement_1 
 @@a_class_variable=10 
 def initialize 
   @@a_class_variable+=1 
   a_local_variable=13 
   print @@a_class_variable 
   if @@a_class_variable==a_local_variable : print "Yay"  end 
 end   
end   
比較下例2,我們發現我們可以用」 : 」來替換原句中的」then」.繼續往下看~

例4:
class If_Statement_1 
 @@a_class_variable=10 
 def initialize 
   @@a_class_variable+=1 
   a_local_variable=13 
   print @@a_class_variable 
   print "Yay" if @@a_class_variable==a_local_variable 
 end   
end 
這個例子裡我們把」end」都省略掉了^0^.看起來更清爽了不? 因為我們重新改造了句子的結構,把結果print "Yay" 加了個」if」顯示在」 @@a_class_variable 等於 a_local_variable. 「的條件前.所以,我們現在知道了If語句有多種表達方式.更高級的例子,留給明天討論吧,今天學得不少了~~

回復帖子

內容:
用戶名: 您目前是匿名發表
驗證碼:
 
 
©2010-2024 Purasbar [手機版] [桌面版]
除非另有聲明,本站採用共享創意姓名標示-相同方式分享 3.0 Unported許可協議進行許可。