我试图想象是否可以创建一个可以模拟嵌套哈希访问的类,其中'嵌套'级别计数将是任意的。例如:
fakeHash[:something][:other] # Results in single property call on fakeHash
答案 0 :(得分:1)
我不能递归地返回对象 - 相反,我需要能够处理根对象级别的所有键,并从那里返回一个值。
不幸的是,没有办法。这是因为[]
是一个方法,并且能够无限次地(可能)调用该方法的唯一方法是使用递归(这意味着您返回包含方法{{1}的对象)而不是最终的对象。)
即使存在它也会是非常糟糕的设计。无论你想做什么,你做错了,生成的代码可能会让其他程序员感到困惑。
当然,您可以随时模拟以下内容:
[]
Here就是一个例子。