--------------------------------------------------------- Object#methods
obj.methods=>array
------------------------------------------------------------------------
Returns a list of the names of methods publicly accessible in
_obj_. This will include all the methods accessible in _obj_'s
ancestors.
class Klass
def kMethod()
end
end
k = Klass.new
k.methods[0..9]#=>["kMethod", "freeze", "nil?", "is_a?",
"class", "instance_variable_set",
"methods", "extend", "<em>send</em>", "instance
_eval"]
k.methods.length #=>42
一、主体不同
1、模块:为完成某一功能所需的一段程序或子程序;或指能由编译程序、装配程序等处理的独立程序单位;或指大型软件系统的一部分。
2、类模块:没有可见的用户界面。可以使用类模块创建含有方法和属性代码的自己的对象。
二、特点不同
1、模块:指模块跟外部环境联系的接口(即其他模块或程序调用该模块的方式,包括有输入输出参数、引用的全局变量)和模块的功能;内部特征是指模块的内部环境具有的特点(即该模块的局部数据和程序代码)。
2、类模块:可以设定类所具有的方法、属性等,比如一个叫animal的类模块,里面有public的方法eat,属性有Hp,Mp等。
三、功能不同
1、模块:有各种类型,如单元操作模块(换热器、精馏塔、压缩机等)、计算方法模块(加速收敛算法、最优化算法等)、物理化学性质模块(汽液相平衡计算、热焓计算等)等。
2、类模块:主要是存放全局变量和函数,供所有模块使用。
参考资料来源:百度百科-类模块
参考资料来源:百度百科-模块
1、不想列出继承的方法methods(false),这样就不会列出继承的方法了2、安装完ruby后会提示:Ruby was built without documentation, to build it run: rvm docs generate-ri,所以执行rvm docs generate-ri就可以安装相关文档,ri 类名/模块名/方法名,就可以看到类/模块/方法的文档