`
凌川__
  • 浏览: 82283 次
  • 性别: Icon_minigender_1
最近访客 更多访客>>
社区版块
存档分类
最新评论

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    
 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics