祖先を除いて、特定のクラスに含まれているモジュールを見つけたいと思います。例えば:
module M; end
module N; end
class A; include M; end
class B < A; include N; end
p B.included_modules
#=> [N, M, Kernel]
# I want only N
B.included_modules[0]
含まれているモジュールの数がわからないため、使用できませんB
。
祖先を除いて、特定のクラスに含まれているモジュールを見つけたいと思います。例えば:
module M; end
module N; end
class A; include M; end
class B < A; include N; end
p B.included_modules
#=> [N, M, Kernel]
# I want only N
B.included_modules[0]
含まれているモジュールの数がわからないため、使用できませんB
。
AがBのスーパークラスであることがわかっている場合は、
p B.included_modules - A.included_modules
あなたが他に探しているものをあなたに与えるべきです
p B.included_modules - B.superclass.included_modules
module M; end
module N; end
module O; end
class A; include M; end
class B < A; include N; include O; end
p B.included_modules - A.included_modules
#=> [O, N]