Is that... groovy?  Yes, I guess using method chaining makes sense
when the language is flexible and designed to do that kind of things.
But... in CFML?  Really?

On Feb 10, 11:15 am, Barney Boisvert <[email protected]> wrote:
> I use code like this all the time:
>
> myList.sort().each {
>   // do something
>
> }
>
> Here's a more complex example (to print a list of numbers from 1 to 20
> ordered by the number of prime composites):
>
> (1..20).collect {
>         [
>                 num: it,
>                 factors: PrimeUtils.factor(it) // returns prime factors of 
> it's arg
>         ]}.sort { o1, o2 ->
>
>         o2.factors.size().compareTo(o1.factors.size())}.each {
>
>         println("${it.num}: ${it.factors}")
>
> }
>
> And the same example written without chaining:
>
> numbers = 1..20
> numbers = numbers.collect {
>         [
>                 num: it,
>                 factors: PrimeUtils.factor(it)
>         ]}
>
> numbers.sort { o1, o2 ->
>         o2.factors.size().compareTo(o1.factors.size())}
>
> numbers.each {
>         println("${it.num}: ${it.factors}")
>
> }
>
> Each step is certainly more distinct in the second example, but
> ultimately the "operation" here is to print the numbers sorted by
> number of prime composites, so it's one step.  Having it grouped into
> a single statement enforces that semantic, and is the best reason to
> use chaining if you ask me.  Simply to reduce typing isn't a good
> reason; coding is about readability and conveying the semantics of the
> algorithm as clearly as possible.
>
> cheers,
> barneyb
>
> On Tue, Feb 10, 2009 at 11:03 AM, Henry <[email protected]> wrote:
>
> > I really don't see the benefit of using Method chaining other than
> > jQuery though.  jQuery is the only place I use Method chaining. ;-)
>
> > Henry Ho
>
> --
> Barney Boisvert
> [email protected]http://www.barneyb.com/
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"CFCDev" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/cfcdev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to