Well a few things. For some reason, in the past I've attempted to use 'find' in Ruby and irb has sent back a nomethod error. So perhaps t was syntax errors (though I don't believe it was) not sure. I'm about to run out so I'll check it in a while. And yes, this is for educational purposes though I think I may have not seen some options. Particularly the ability in Rails to play with models and controllers in the console. I know this is not the Rails list and I've gone ahead posted my errors while attempting to load the console using the NAME or DESCRIPTION option. Stuart On 8/13/06, Morton Goldberg <m_goldberg / ameritech.net> wrote: > I'm assuming that you are just implementing this for its educational > value and not seriously considering implementing a data base with > this approach. Ruby has built-in and third-party libraries to help > you implement a data bases application. > > I've modified your posting just enough to make a shallow scratch on > the surface of what can be done to organize and search data. I hope > it's enough to help you along. Although you said you didn't want to > consider regular expressions yet, I use them because it makes life > much simpler to use at least simple regexes. > > #! /usr/bin/ruby -w > > class Composer > > @@composers = [] > > def Composer.find(attrib, regex) > @@composers.select do |c| > c.respond_to?(attrib) && > c.send(attrib) =~ regex > end > end > > def initialize( lname, country ) > @lname = lname > @country = country > @@composers << self > end > > attr_accessor :lname, :country > alias :to_s :inspect > > end > > Composer.new("Beethoven", "Germany") > Composer.new("DeFalla", "Spain") > Composer.new("Debussy", "France") > Composer.new("Bach", "Germany") > Composer.new("Rodrigo", "Spain") > Composer.new("Ravel", "France") > > puts Composer.find(:country, /^Ger/) > puts Composer.find(:lname, /^R/) > # => > # #<Composer:0x24a18 @country="Germany", @lname="Beethoven"> > # #<Composer:0x24964 @country="Germany", @lname="Bach"> > # #<Composer:0x24928 @country="Spain", @lname="Rodrigo"> > # #<Composer:0x248ec @country="France", @lname="Ravel"> > > Regards, Morton > > > On Aug 13, 2006, at 1:54 PM, Dark Ambient wrote: > > > I can use some help here: > > > > I've set up this class and objects and would like to "search" it > > similar to the way I would search a database. At this point I'm not > > concerned with adding regex for more liberal searches. > > Any suggestions ? > > > > > > > > class Composer > > def initialize( lname, country ) > > @lname = lname > > @country = country > > end > > attr_accessor(:lname, :country) > > end > > > > comp1 = Composer.new("Beethoven", "Germany") > > comp2 = Composer.new("DeFalla", "Spain") > > comp3 = Composer.new("Debussy", "France") > > > > >