首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >active_support/inflector是如何包括在内的?

active_support/inflector是如何包括在内的?
EN

Stack Overflow用户
提问于 2016-11-30 18:44:57
回答 1查看 558关注 0票数 1

我需要active_support/inflector,现在我可以在字符串上使用pluralize方法了。

代码语言:javascript
复制
require 'active_support/inflector'

module Foodie
  class Food
    def self.pluralize(word)
      word.pluralize
    end
  end
end

p Foodie::Food.pluralize("foo") #=> foos

但我原以为必须将ActiveSupport::Inflector模块作为一个混合器才能工作。

为什么我不需要这样的东西

代码语言:javascript
复制
module Foodie
  class Food
    include ActiveSupport::Inflector
    def self.pluralize(word)
      word.pluralize
    end
  end
end

p Foodie::Food.pluralize("foo") #=> foos

同样,上面的例子仍然有效。

我认为,需要一个文件的全部目的就是让您能够访问该文件中的类/模块/方法/变量,但它不一定在所有模块和类中都包含该功能。

可能是因为带有Inflector模块的ruby文件正在打开string类吗?如本例所示:

foo.rb:

代码语言:javascript
复制
module Foo
end

class String
  def cats  
    self + " cats"
  end
end

bar.rb:

代码语言:javascript
复制
require_relative 'foo'

p "foobar".cats #=> "foobar cats"

希望得到一些指导:)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-30 18:51:40

你说得对,字符串在这里被画上了:

ext/string/inflections.rb#L9

然后,您需要的模块中包含了以下内容:support/inflector.rb#L7

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40895911

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档