きしもとです

obj = Object.new
obj.instance_eval {
	def foo; end
}

のようなコードを実行すると、特異メソッドが定義されますが、このような、
「この文脈で def するとメソッドが定義されるクラス」(この例の場合
inspect が #<Class:#<Object:0x00000801182d70>> のように
なるような特異クラス)に簡単にアクセスする式はないのでしょうか?

以下のコードの、

class Foo
	# A
	def foo
		# B
		class << self
			# C
		end
	end
end

A とか B の場所に書くと Foo に、C に書くと特異クラスになる式がないか、
というわけです。

特にこれといった use case があるわけではないのですが、instance_eval 中で
def でメソッドを定義すると(他に alias も特異メソッドになりますね)
特異メソッドになる、ということを確認した時に、間接的な確かめかたしかない
のかなぁ、と気になりました。