- Ruby 初心者スレッド Part 58 [無断転載禁止]©2ch.net
32 :デフォルトの名無しさん[sage]:2016/04/05(火) 13:52:47.37 ID:Uvoa8jl9 - 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をしても、きっとまだ裏道ありますよね。
|