1
11
不,不可能。对象不能在Ruby中更改其类。
例如,在Smalltalk中,您可以使用
如果你这样称呼它:
现在
结果是:
从技术上讲
|
2
0
Jrg W Mittag的答案是可靠的。作为一种语言,Ruby的一个基本属性是不能更改对象的类。 你能做的最好的事情就是重新分配变量,我相信你已经在这样做了:
|
3
0
这只能使用 evil-ruby (至少我很确定邪恶的ruby支持这一点)。这是一种非常聪明的黑客手段,可以诱使Ruby做一些它从未想过要做的事情,但也是一种不可移植的黑客手段,众所周知,这种黑客手段会在使用Ruby的代码中造成实际的SegFault。您绝对不应该在生产代码中使用它。 否则,为字符串指定一个内部数组,并使其将所有消息委托给该数组(沿 BlankSlate + Forwardable ). 这仍然不是我想做的事。我无法想象这样一个小小的便利会超过实现的黑客性。 |