question:1175229198 使い易いようにメソッドにしてみた。また、C/C++ 相当の機能と、C/C++ にも無い機能を追加してみた。*1 constant.rb #!ruby module Constant def self.enum_set(klass, names, init_val = 0) value = init_val.to_int names.each do |name| klass.const_set(name, value) value += 1 end end def self.enum_set_ex(klass, exprs, init_val = 0) value = init_val.to_int exprs.each do |expr| case expr when /\A([^=]+)\s*=\s*(.+)\Z/ value = klass.mo