Rubyで真にprivateなインスタンス変数を作るにはどうしたらいいんでしょうか?
別に切羽詰まった話ではありません、ふと浮かんだ疑問です。

class SecretHeart
def initialize(feeling="")
@feeling = feeling
end
private
def feeling=(any) end
private
def feeling() nill end
end
john = SecretHeart.new("悲しい")
print john.feeling # → error
print john.instance_eval{@feeling} # → "悲しい"
print john.instance_eval{@feeling = "楽しいです!"}
print john.instance_eval{@feeling} # → "楽しいです!"

BasicObject#instance_eval を使えばなんでもアリじゃないですか?
private
def instance_eval() end
こんなoverrideをしても、きっとまだ裏道ありますよね。