Ruby中7种定义类方法的方式
2008-09-01 00:44
316 查看
class SomeClass
#method 1
def SomeClass.ClassMethod1
end
def self.ClassMethod2
end
#method 2
class << self
def ClassMethod3
end
end
end
SomeClass.instance_eval do
#method 3
def ClassMethod4
end
#method 4
define_method(:symbol, )
end
#method 5
SomeClass.class_eval do
def self.ClassMethod5
end
#method 6
class << self
def ClassMethod6
end
end
end
#method 7 - dynamically define a class method at run time
def add_class_method(c, m, &b)
eigenclass = class << c; self; end
eigenclass.class_eval {
define_method(m, &b)
}
end
Ruby真的是太灵活了,要驾驭Ruby的灵活真不容易。
#method 1
def SomeClass.ClassMethod1
end
def self.ClassMethod2
end
#method 2
class << self
def ClassMethod3
end
end
end
SomeClass.instance_eval do
#method 3
def ClassMethod4
end
#method 4
define_method(:symbol, )
end
#method 5
SomeClass.class_eval do
def self.ClassMethod5
end
#method 6
class << self
def ClassMethod6
end
end
end
#method 7 - dynamically define a class method at run time
def add_class_method(c, m, &b)
eigenclass = class << c; self; end
eigenclass.class_eval {
define_method(m, &b)
}
end
Ruby真的是太灵活了,要驾驭Ruby的灵活真不容易。
相关文章推荐
- JavaScript定义类,定义属性,定义方法的几种方式详解与分析
- JavaScript定义类,定义属性,定义方法的几种方式详解与分析
- iOS - 设置系统类似的方法弃用警告的方式
- 使用JBoss管理数据库连接的方法(JDNI方式)
- 引用 引用 去掉桌面上快捷方式的箭头的方法
- 以windows service方式运行Python程序的方法
- ruby如何查找一个方法属于哪个类
- SpringAOP拦截Controller,Service实现日志管理(自定义注解的方式)里面的坑之 同一个controller部分方法可以拦截,部分方法拦截不了
- JavaScript之定义类或对象六种方式
- 防止SpringMVC注解方式的XSS攻击的方法
- PHP判断图片格式的7种方法
- RMAN的两种连接方式(每种连接方式的三种不同连接方法)
- ruby 访问新浪微博API post方式和get方式
- .net中以传引用的方式 向方法中传参数
- 多线程基础知识第一篇:创建线程的方式及线程常用的方法
- 【IOS】UIImage加载图片的方式以及Assets.xcassets对于加载方法的影响
- ruby中如何调用与局部变量同名的私有方法
- js类数组对象使用数组方法的安全方式
- SpringMVC的controller方法中注解方式传List参数使用@RequestBody
- Ruby中Hash常用方法