`
vivimusing
  • 浏览: 81176 次
  • 性别: Icon_minigender_1
  • 来自: 台州
社区版块
存档分类
最新评论

关于ruby的namespaces

阅读更多

 对ruby的namespaces一些理解分享下

 

主要用到的namespaces的关键词是 module , require ,load ,include

 

module 的作用是圈出一个命名空间理解起来还简单,对于require,load,include的理解,先看下下面的代码

 

 

#A.rb
module All
def self.a
	print "a\n"
	end
end

print "loading in the A.rb\n"


#B.rb
module All
def self.b
	print "b\n"
	end
end

#test.rb

require "A"
require "B"
require "A"
require "A"
load "A.rb"
load "A.rb"


All.a

All.b 

 结果是:

loading in the A.rb
loading in the A.rb

loading in the A.rb
a

b

require 对于被加载的文件只加载一次,所以第一个是loading in the A.rb  因为require起作用的之后虽然还有很多的require但是不在触发打印出来 loading in the A.rb ,后两行是 load "A.rb"触发的,每次出现就会将被加载文件从新加载一次。而include就是一个mixin

分享到:
评论

相关推荐

    ruby cookbook

    <br> <br>Strings and numbers <br>Arrays and hashes <br>Classes, modules, and namespaces <br>Reflection and metaprogramming <br>XML and HTML processing<br><br>Ruby on Rails ...

    ruby-wbem:用于透明访问 cimxml 或 WS-Management 主机的 WBEMCIM 客户端 API

    RubyWBEM 简介 ruby-wbem 在 ruby​​-sfcc (CIM/XML) 和 openwsman (WS-Management) 之上提供了一个抽象层 您可以使用它连接到任何 CIMOM 对话 CIM-XML 或 WS-Management ... namespaces . each do | ns |

    Ruby的XML格式数据解析库Nokogiri的使用进阶

    ### Ruby的XML格式数据解析库Nokogiri的使用进阶 #### 一、Nokogiri概述 Nokogiri是Ruby中的一个强大的XML/HTML解析器,它提供了多种方式来解析、搜索和修改XML/HTML文档。Nokogiri能够与标准库一样方便地操作文档...

    xmlhasher:快速的XML至Ruby Hash转换器

    快速的XML至Ruby Hash转换器 安装 XmlHasher可通过,并可通过以下方式安装: $ gem install xmlhasher 或将其添加到您的Gemfile中,如下所示: gem 'xmlhasher' 发行说明 参见 用法 require 'xmlhasher' # ...

    riak-record:RiakRecord 是一个围绕 riak-ruby-client 的薄且不成熟的包装器

    里亚克唱片公司RiakRecord 是一个围绕 riak-ruby-client 的薄且不成熟的包装器。 它为每个类创建一个桶,提供一个简单的查找器,并为数据和索引创建属性访问器。 它在 Riak::Client 上增加了一个层,使与 Riak 的...

    Elasticsearch测试医疗数据

    remove_namespaces => true target => "parsed_data" } } ``` 最后,在输出部分指定将处理后的数据发送到Elasticsearch: ```ruby output { elasticsearch { hosts => ["localhost:9200"] index => "medical...

    warden设计pdf

    Warden架构包括一个Ruby编写的守护进程,用于管理系统状态,以及每个容器一个C语言编写的守护进程,用于处理容器的引导、进程分发等具体操作。这样的设计保证了Warden能够在不同的容器之间进行有效隔离和资源控制。 ...

    libxml2-2.9.0.zip

    1. Web服务器和Web应用框架,如Apache和Ruby on Rails。 2. 数据库系统,如MongoDB和PostgreSQL。 3. 语言绑定,如Python的lxml库和Perl的XML::LibXML模块。 4. 编译器和IDE,如GCC和Visual Studio。 总的来说,...

    prototype 权威手册

    Objects, Namespaces and Modules 在Prototype中,对象被划分为三个主要类别:类(Class)、命名空间(Namespace)和模块(Module)。 - **类(Class)**: 类似面向对象编程中的概念,通过`new`操作符来实例化对象...

    xmp:可扩展元数据平台(XMP)解析器

    xmp-可扩展元数据平台(XMP)解析器 XMP为XMP数据( )提供了面向对象的接口。 XMP数据可以PDF,JPEG,GIF,PNG和许多其他格式找到。支持的格式 目前,exifr gem仅... namespaces . each do | namespace_name | name

    smart_container:线程安全的语义定义的IoCDI容器

    SmartCore ::容器· ... namespace ( :database ) do # support for namespaces register ( :resolver , memoize : true ) { SomeDatabaseResolver . new } # dependency registration namespace ( :cache ) do #

    CSS3模块的目前的状况分析

    2. **Namespaces(中优先级)**:更新于2008年5月23日,浏览器兼容性列表已发布,计划在2009年9月进行拟推荐。Namespace模块允许在CSS中使用XML命名空间,有助于实现不同源数据的样式分离。 3. **Ruby(中优先级)*...

Global site tag (gtag.js) - Google Analytics