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")
> >
>
>
>