-
10
OCT
2008All About Struct
I build small little data classes all the time and there's a reason for that: Ruby makes it trivial to do so. That's a big win because we all know that what is a trivial data class today will be tomorrow's super object, right? If I start out using a simple
Array
orHash
, I'll probably end up redoing most of the logic at both ends eventually. Or I can start with the trivial class and grow it naturally.The key to all this though is that I don't write those classes myself! That's what Ruby is for. More specifically, you need to learn to love
Struct
. Allow me to show you what I mean.Imagine I need a basic class to represent a
Contact
. Ruby gives us so many shortcuts that the class could be very small even withoutStruct
:class Contact def initialize(first, last, email) @first = first @last = last @email = email end attr_accessor :first, :last, :email end
You could shorten that up more with some multiple assignment if you like, but that's the basics. Now using
Struct
is even easier: