c.f()以下のように動作しないのはなぜb.f()ですか? class A::Cインデントが多すぎるのを避けるために、ネストされたクラスを宣言するために -wayを使用したいと思います。
class A
  CONSTANT = 1
end
class A
  class B
    p self # => A::B
      def f
        print CONSTANT, "\n"
      end
  end
end
class A::C
  p self # => A::C
  def f
    print CONSTANT, "\n"
  end
end
b = A::B.new
b.f() # => 1
c = A::C.new
c.f() # => `f': uninitialized constant A::C::CONSTANT (NameError)