Ruby 是动态语言,你可以改变 Ruby 程序的结构,功能,在Ruby程序运行中。方法、属性可以被加入或去除,新的类或对象可以被建立,新的模块可以出现。请看程序 E5.4-1.rb :
ruby 代码
- # E5.4-1.rb
- class Person
- def talk
- puts "Today is Saturday. "
- end
- end
- p1=Person.new
- p1.talk # => Today is Saturday.
- class Person
- def talk
- puts "Today is #@date. "
- end
- attr_accessor :date
- end
- p1.date="Sunday"
- p1.talk # => Today is Sunday.
当然,除了修改方法,添加方法,你还可以除去方法。看程序 E5.4-2.rb :
ruby 代码
- # E5.4-2.rb
- class Person
- def talk
- puts "Today is Saturday. "
- end
- end
- p1=Person.new
- p1.talk # => Today is Saturday.
- class Person
- undef :talk
- end
- #p1.talk talk方法已经不存在
Ruby 语言灵活,因为 Ruby 是动态语言; Ruby 语言强大,因为 Ruby 是动态语言; Ruby 语言初学者容易犯错误,也因为 Ruby 是动态语言。
完整阅读,请看我写的 Ruby语言中文教程all in one