Ruby の Class.new で生成したオブジェクトを受け取る変数名によって挙動が変わる

どういうことかというと大文字から始まる変数名と小文字から始まる変数名では #class で返ってくる値が違いました。

X = Class.new
X.new.class
# => X

x = Class.new
x.new.class
# => #<Class:0x000000016871c0>

Ruby キモい(確信