如何在 Ruby 中获得这种类似 Java 的效果?
class Outer {
final boolean switch
public Outer(boolean someSwitch) {
switch = someSwitch
}
class Inner {
public void doSomething() {
if (switch) {
//behave like this
} else {
//behave like that
}
}
}
没关系,切换必须是最终的;在 Scala 中,它没有。反正。我的 Inner 类位于 Outer 实例的范围内,这就是我喜欢的方式。而且我不必将开关传递给每个单独的内部实例。
在 Ruby 中,我可以将一个类嵌套在另一个类中,但这并不意味着除了命名空间之外的任何东西。怎样才能得到我想要的效果?我知道这个问题有点模糊,所以即使你不确定,也可以随意尝试一下。