トップページ > プログラム > 2016年04月05日 > Uvoa8jl9

書き込み順位&時間帯一覧

26 位/185 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000110000000002



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
Ruby 初心者スレッド Part 58 [無断転載禁止]©2ch.net

書き込みレス一覧

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をしても、きっとまだ裏道ありますよね。
Ruby 初心者スレッド Part 58 [無断転載禁止]©2ch.net
35 :デフォルトの名無しさん[sage]:2016/04/05(火) 14:20:10.18 ID:Uvoa8jl9
>>34
了解。 そういう文化なんですね。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。