1

我有这种奇怪的情况。任何帮助,将不胜感激。

这是我的班级结构的展望:

class A
  def 1_function a1
    call_c
  end

  def 2_function 
    call_c
  end

  def call_c
    if a1 present 
      do this
    else
      do this
    end
  end
end

class B
  A.1_function a1
end

class C
  A.2_function
end

在这里,call_c我需要检查该参数 a1 是否存在。我无法在其中添加默认参数,call_c因为实际上有很多介于1_function,2_function和之间的函数call_c(因此我最终会改变很多)

方法 1:我可以在我的类中创建一个 @ 变量。但这会破坏原子性,并且不适合使用静态变量来维护状态。

请建议我任何其他选择。

4

1 回答 1

0

也许我不明白你的问题,但如果这真的是一个类并且其中的方法A真的是实例方法,那么存储a1在实例变量中并从call_c. 顺便说一句,我假设1_function,2_function并且call_c都应该是方法名称,尽管前两者的语法是非法的。

于 2013-06-26T05:05:23.370 回答