我有这种奇怪的情况。任何帮助,将不胜感激。
以下是我班级结构的展望:
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: 我可以在班上创建一个@变量。但这会破坏原子性,并且不适合使用静态变量维护状态。
请建议我任何其他选择。
答案 0 :(得分:0)
也许我不明白你的问题,但如果这真的是一个类而且A
中的方法实际上是实例方法,那么在实例变量中存储a1
实际上没有任何错误并从call_c
引用它。顺便说一句,我假设1_function
,2_function
和call_c
都应该是方法名称,尽管前两者的语法非法。