> If this is intentional, it seems like an arbitrary restriction. Unicode characters are unambiguously > classified into upper-case, lower-case and neither. If they can be used anywhere within an > identifier, why not at the start of a constant? I believe it is intentional as per the discussion in http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/19378 . As matz wrote in that thread, to change this behaviour would be to make the semantics of the program locale dependent. Plus, outside of regexes, Ruby doesn't really grok concepts like Unicode properties yet.