Object Query Language for Ruby?


#1

Hello.

Today I’ve stubled upon an interesting article at CodeProject:

Karmencita: an object query language for .NET
http://www.codeproject.com/csharp/Karmencita.asp

The do something like


// initialize the data source
// (in this case a Stack of Customers)
Stack customers = …

// initialize Karmencita with
// the type of object to be queries
ObjectQuery oq =
new ObjectQuery();

// write the query
string query = “Name = [Thor the Mighty]” +
" and IsMale = true and BirthDate" +
" < [1,1,1910]";

//run the query
Customer[] processes = (Customer[]) oq.Select(customers, query);

I have no idea about when and how can be it useful, but it can be
intersting
to do the trick for Ruby, ha?

Victor.


#2

Victor S. wrote:

Today I’ve stubled upon an interesting article at CodeProject:

Karmencita: an object query language for .NET

// initialize the data source
// (in this case a Stack of Customers)
Stack customers = …

customers = …

// initialize Karmencita with
// the type of object to be queries
ObjectQuery oq =
new ObjectQuery();

// write the query
string query = “Name = [Thor the Mighty]” +
" and IsMale = true and BirthDate" +
" < [1,1,1910]";

oq = proc {|cust| cust.name == “Thor the Mighty” &&
cust.male? && cust.birth_date < Date.new(1910) }

//run the query
Customer[] processes = (Customer[]) oq.Select(customers, query);

processes = customers.select(&oq)

I have no idea about when and how can be it useful, but it can be
intersting
to do the trick for Ruby, ha?

It’s already there!

Cheers,
Dave


#3

oq = proc {|cust| cust.name == “Thor the Mighty” &&

It’s already there!

Hmmm… Really :slight_smile: I’m not an idiot, usually.

I must say, Ruby solution seems to be much prettier and “in a spirit of
a
languages”, yes?

Victor.


#4

Victor S. wrote:

// initialize Karmencita with

Hmmm… Really :slight_smile: I’m not an idiot, usually.

I must say, Ruby solution seems to be much prettier and “in a spirit of a
languages”, yes?

The longer I use Ruby the more apparent it seems to me that lambdas /
procs / blocks are one of the core features - if not the core feature

  • that set it apart from P* languages and make these things so easy and
    well looking (= easy to read and understand).

Kind regards

robert

#5

On Mar 25, 2006, at 4:08 AM, Robert K. wrote:

The longer I use Ruby the more apparent it seems to me that
lambdas / procs / blocks are one of the core features - if not
the core feature - that set it apart from P* languages and make
these things so easy and well looking (= easy to read and understand).

I so agree. When I first came to Ruby, blocks were probably my
biggest stumbling block. I got them down just enough not to think
they were weird every time I used one, but then didn’t pay much
attention to them. Much later, when I wanted to move down the path
of enlightenment, I found myself back at blocks. I really believe
they are the key to great Ruby.

James Edward G. II