模块(Module)的用途2 混入(Mixin)
2007-12-21 14:14
344 查看
#
# 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
相关文章推荐
- 模块(Module)的用途1 命名空间(Namespace)
- Nodejs Error: Cannot find module 当前文件夹下的模块
- Netbeans 插件模块(Plugin Module)的开发
- ET框架之自写模块SmartTimerModule
- Nginx防盗链模块HttpAccessKeyModule配置与使用指南
- 模块(module)
- Magento2.x 如何创建一个Module--模块声明
- Nginx 模块之 ngx_http_limit_req_module 请求处理模块用法
- require、module、exports dojo中的三个特殊模块标识
- Nginx 模块之 ngx_http_upstream_module 用法
- Zend Framework2 - Layout配置,不同模块Module设置不同的layout
- 模块(module)方式创建maven工程
- MSP430F1612 基础时钟模块(Basic Clock Module)
- Nginx 源码分析-- 浅谈对模块module 的基本认知
- Java9新特性——module模块系统
- Nginx 源码分析-- 模块module 解析执行 nginx.conf 配置文件流程分析 一
- Node.JS核心模块之module分析
- Nginx ngx_http_referer_module模块根据referer屏蔽或禁止访问
- WebService大讲堂之Axis2(9):编写Axis2模块(Module)
- Nginx 负载均衡模块 ngx_http_upstream_module 详述