#
# Module Mixin
# 如果提供了name方法那么given_name和family_name方法会自动获得功能。
#
module Name
def given_name
names = self.name.split(' ')
names[0]
end
def family_name
names = self.name.split(' ')
names[1]
end
end
#
# 如果EnglishName类提供了name方法那么given_name和family_name方法会自动获得功能。
#
class EnglishName
include Name
def initialize(fullname)
@fullname = fullname
end
def name
@fullname
end
end
en = EnglishName.new("Jack John")
puts en.name
puts en.given_name
puts en.family_name
# Module Mixin
# 如果提供了name方法那么given_name和family_name方法会自动获得功能。
#
module Name
def given_name
names = self.name.split(' ')
names[0]
end
def family_name
names = self.name.split(' ')
names[1]
end
end
#
# 如果EnglishName类提供了name方法那么given_name和family_name方法会自动获得功能。
#
class EnglishName
include Name
def initialize(fullname)
@fullname = fullname
end
def name
@fullname
end
end
en = EnglishName.new("Jack John")
puts en.name
puts en.given_name
puts en.family_name