From: jason@... (Jason Voegele) Date: 2001-11-02T23:07:46+09:00 Subject: [ruby-talk:24165] Re: C-like enum Here's an improved version based on input from David Alan Black and Nat Pryce: module Kernel # simple (sequential) enumerated values def enum(*syms) n = block_given? ? yield : 0 syms.each_with_index { |s,i| const_set(s,i+n) } end # enumerated values suitable for bitwise OR-ing def set(*syms) syms.each_with_index { |s,i| const_set(s,2**i) } end end Thanks, Jason Voegele