On 10/27/2010 8:17 AM, Colin Mackenzie iv wrote:
> I've just released a new gem called "sizes".
> 
> This is a very simple gem that exposes "sizeof" to Ruby to enable
> checking size of primitive types like :float, :unsigned_int, and so
> forth. I needed this for a parser I was writing, (I didn't feel like
> writing the whole thing in C), couldn't find a way to do it without an
> extension, and saw no reason not to publish the code afterward. :)
> 
> I hope I didn't just reinvent something that already exists in core Ruby
> -- but I couldn't find it if it does, no matter how hard I Googled.
> 
> Documentation and source code:
> http://github.com/sinisterchipmunk/sizes

I think this sort of functionality may already be available as part of
the ffi gem:

irb(main):001:0> require 'ffi'
irb(main):002:0> FFI::TypeDefs[:int].size
=> 4
irb(main):003:0> FFI::TypeDefs[:int8].size
=> 1
irb(main):004:0> FFI::TypeDefs[:uint].size
=> 4
irb(main):005:0> FFI::TypeDefs[:int64].size
=> 8
irb(main):006:0> FFI::TypeDefs[:float].size
=> 4

-Jeremy