我有一个常量的红宝石模块。它有一个变量列表和一个应用格式化的方法。 我似乎无法访问此模块中的方法。任何想法为什么?红宝石模块方法访问
回答
如果include
模块的方法成为一种实例方法,但如果你extend
模块,然后就变成了类方法。
module Const
def format
puts 'Done!'
end
end
class Car
include Const
end
Car.new.format # Done!
Car.format # NoMethodError: undefined method format for Car:Class
class Bus
extend Const
end
Bus.format # Done!
Bus.new.format # NoMethodError: undefined method format
这真的很有帮助。谢谢:) – Rads 2013-11-21 07:19:36
一般而言,模块,这些东西应该发生:
- 在application.rb中>自动加载路径,添加行:
config.autoload_paths += %W(#{config.root}/lib)
- 位于/ lib
>放置模块- >包含模块'包含NAMEOFMODULE'
(如果模块具有类似下划线game_engine,你需要'包含GameEngine')
我不能访问同一模块内的方法: – 2011-03-24 10:12:04
像这个模块的东西常量 #要更改此模板使用文件|设置|文件模板。 高清remove_formatting(原件) 转换= original.replace(original.gsub!(/ \ w + /, '')) 回报转换 结束 名称= “这是一个名为” 结束 – 2011-03-24 10:13:15
module Foo
def self.hello # This is a class method
puts "self.hello"
end
def hello # When you include this module, it becomes an instance method
puts "hello"
end
end
Foo.hello #=> self.hello
class Bar
include Foo
end
Bar.new.hello #=> hello
- 1. 红宝石:模块问题
- 2. 红宝石方法块
- 3. 红宝石模块
- 4. 访问红宝石
- 5. 红宝石 - 方法问题
- 6. 无法访问嵌套的红宝石模块中的类
- 7. 红宝石模块包括
- 8. 检测模块红宝石
- 9. 如何红宝石模块
- 10. 红宝石模块优化
- 11. NoMethodError红宝石模块
- 12. 红宝石模块声明
- 13. 红宝石书写模块
- 14. 红宝石``**方法
- 15. 红宝石:方法
- 16. 访问第三方网站 - 红宝石
- 17. 红宝石测试:块与方法
- 18. 红宝石发送方法调用块
- 19. 红宝石:访问数组
- 20. 访问红宝石迭代
- 21. 访问红宝石矩阵
- 22. 红宝石访问魔术
- 23. 访问哈希红宝石
- 24. 如何获得红宝石2.0模块#prepend在红宝石1.8?
- 25. 红宝石元编程:无法发送的方法的模块
- 26. 区块红宝石
- 27. 红宝石进样方法问题
- 28. 方法的红宝石问题
- 29. 红宝石 - 乘法问题
- 30. 红宝石语法问题
你可以发布你的代码吗? – 2011-03-24 09:45:12