5.4 蓝图可以改变吗? ——动态语言
Ruby 是动态语言,你可以改变 Ruby 程序的结构,功能,在Ruby程序运行中。方法、属性可以被加入或去除,新的类或对象可以被建立,新的模块可以出现。请看程序 E5.4-1.rb :
# 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 :
# 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 是动态语言,你可以改变 Ruby 程序的结构,功能,在Ruby程序运行中。方法、属性可以被加入或去除,新的类或对象可以被建立,新的模块可以出现。请看程序 E5.4-1.rb :
# 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 :
# 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 是动态语言。