効能
- 定義されてるかどうか調べてくれる
- 定義されてない場合はnil
- 定義されてる場合は種別を表す文字列を返す
ほお。
実験!!
こんなコードをば
class A attr_accessor :name def public_method end private # privateなメソッド def private_method end end a = A.new puts "defined? a = #{defined? a}" puts "defined? a.public_method = #{defined? a.public_method}" puts "defined? a.private_method = #{defined? a.private_method}" puts "defined? a.name = #{defined? a.name}"
実行すと
defined? a = local-variable defined? a.public_method = method defined? a.private_method = defined? a.name = method
なるほろ。
privateなメソッドは見てくれないのか。どうもnilが返ってきてるみたい。