class A
  Const = :A
  @ivar = :Ac
  @@cvar = :A
  def initialize
    @ivar = :Ai
  end
end
class B
  Const = :B
  @ivar = :Bc
  @@cvar = :B
  def initialize
    @ivar = :Bi
  end
  def test_i_i_b() A.new.instance_eval { p [Const, @ivar, @@cvar] } end
  def test_i_i_s() A.new.instance_eval " p [Const, @ivar, @@cvar] " end
  def test_c_i_b() A.instance_eval { p [Const, @ivar, @@cvar] } end
  def test_c_i_s() A.instance_eval " p [Const, @ivar, @@cvar] " end
  def test_c_c_b() A.class_eval { p [Const, @ivar, @@cvar] } end
  def test_c_c_s() A.class_eval " p [Const, @ivar, @@cvar] " end
end
B.new.test_i_i_b
B.new.test_i_i_s
B.new.test_c_i_b
B.new.test_c_i_s
B.new.test_c_c_b
B.new.test_c_c_s