From: Robert Klemme Date: 2007-05-23T20:35:13+09:00 Subject: Re: storing boolean flags in numbers On 23.05.2007 13:16, Sebastian probst Eide wrote: >> p 5[2] > Wow! This is great! But is there a way to set flags this way to? > > Say I have: > flags = 0b010110010 > > checking flag 6 is easy enough > flags[6] => 0 > But how could I easily set flag 6 to 1? > flags[6] = 1 doesn't work obviously... Set and reset: irb(main):001:0> flags = 0b010110010 => 178 irb(main):002:0> flags[6] => 0 irb(main):003:0> flags |= 1 << 6 => 242 irb(main):004:0> flags[6] => 1 irb(main):005:0> flags ^= flags[6] << 6 => 178 irb(main):006:0> flags[6] => 0 See also http://raa.ruby-lang.org/project/bitset/ Kind regards robert