相关疑难解决方法(0)

Ruby中的私有模块方法

我有两个问题

最佳实践

  • 我有一个算法,使用公共接口对数据结构执行某些操作
  • 它目前是一个具有许多静态方法的模块,除了一个公共接口方法之外都是私有的.
  • 有一个实例变量需要在所有方法之间共享.

这些是我能看到的选项,哪个最好?:

  • 模块与静态(红宝石"模块")的方法
  • 使用静态方法的
  • Mixin模块包含在数据结构中
  • 重构修改该数据结构的算法部分(非常小)并使其成为调用算法模块的静态方法的mixin

技术部分

有没有办法制作私有模块方法

module Thing
  def self.pub; puts "Public method"; end
  private
  def self.priv; puts "Private method"; end
end
Run Code Online (Sandbox Code Playgroud)

private中似乎有没有什么影响,我仍然可以调用Thing.priv没有问题.

ruby access-specifier private-methods

99
推荐指数
5
解决办法
7万
查看次数

标签 统计

access-specifier ×1

private-methods ×1

ruby ×1