追記 エントリ本文の内容は間違い。 instance_variable_getメソッドの引数にはシンボルだが、変数名のみではなく@を含む必要があった。 puts c.instance_variable_get(:write_only) rescue puts $!.message #=>`instance_variable_get': `write_only' is not allowed as an instance variable name (NameError) puts c.instance_variable_get(:@write_only) rescue puts $!.message #=>"write only instance variable" 公式ドキュメントにもそう書いてある。ちゃんと読もう…。 エントリ内容は既に意味を失っているが、一応残しておく。 以下エントリ