5.4 藍圖可以改變嗎? ——動態語言

Ruby 是動態語言,你可以改變 Ruby 程序的結構,功能,在Ruby程序運行中。方法、屬性可以被加入或去除,新的類或對象可以被建立,新的模塊可以出現。請看程序 E5.4-1.rb :

ruby 代碼
  1. #   E5.4-1.rb       
  2. class Person       
  3.   def talk   
  4.     puts "Today is Saturday. "       
  5.   end     
  6. end  
  7.   
  8. p1=Person.new  
  9. p1.talk   # =>  Today is Saturday.   
  10.   
  11. class Person       
  12.   def talk   
  13.     puts "Today is #@date. "       
  14.   end     
  15.  attr_accessor :date  
  16. end  
  17.   
  18. p1.date="Sunday"  
  19. p1.talk   # =>  Today is Sunday.   


當然,除了修改方法,添加方法,你還可以除去方法。看程序 E5.4-2.rb :

ruby 代碼
  1. #   E5.4-2.rb       
  2. class Person       
  3.   def talk   
  4.     puts "Today is Saturday. "       
  5.   end     
  6. end  
  7.   
  8. p1=Person.new  
  9. p1.talk   # =>  Today is Saturday.   
  10.   
  11. class Person       
  12.   undef :talk  
  13. end  
  14. #p1.talk      talk方法已經不存在  



Ruby 語言靈活,因爲 Ruby 是動態語言; Ruby 語言強大,因爲 Ruby 是動態語言; Ruby 語言初學者容易犯錯誤,也因爲 Ruby 是動態語言。

完整閱讀,請看我寫的 Ruby語言中文教程all in one    
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章