【发布时间】:2013-06-23 00:09:02
【问题描述】:
我有这种奇怪的情况。任何帮助,将不胜感激。
这是我的班级结构的展望:
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 之间有很多函数(因此我最终会改变很多)
方法一: 我可以在我的班级中创建一个 @ 变量。但这会破坏原子性,并且不适合使用静态变量来维护状态。
请给我建议任何其他选择。
【问题讨论】:
-
我看到你有很多 Rails 经验的代表非常高,所以我对编码示例有点惊讶。您介意将其更新为没有语法错误的内容吗?您真的是要从 B 类和 C 类向 A 类发送实例方法名称吗?此外,@variables 不是静态变量,它们是实例变量。你是这个意思吗?
标签: ruby-on-rails instance-variables static-variables