ruby的require include 区别

一直以来感觉require和include总是name的难以理解,趁着今天有时间好好的理顺了一番ruby中在一个model中不可以引用另外一个model,我们可以通过使用require,引入一个新的model,然后通过操作这个model的其他方法实现我们想要实现的东西。对于include其实我感觉有点继承的味道,一般要先把某个类引入进来,也就是说require ‘xxoo.rb’然后在include Module1,注意include后面一定是不能带引号的.对于include进来的Module,我们可以直接使用其方法include将命名空间(模块)的功能添加到当前空间中,extend方法将模块的函数添加到当前对象中。使用include,可以将模块的方法作为实例方法使用,使用extend时,则可以作为类方法使用。require “module1.rb”extend Module1class Testendp Test.test111为什么访问Test.test111找不到方法呢?原因就是使用extend的时候把模块的函数添加到了当前对象main中,而不是当前对象Test中。require “module1.rb”include Module1class Testendp Test.test111或者p Test.new.test111可以访问,原因就是include将函数的功能添加到当前空间中,而不是仅仅某些对象上。注意两点:1.require Module Module的名字一定不能加引号2.extend是把模块的函数添加到当前对象中的。旅游时最好的习惯:找个舒适的小店,挑张雅致的明信片,

ruby的require include 区别

相关文章:

你感兴趣的文章:

标签云: