groovy-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Winnebeck, Jason" <>
Subject RE: .with() variant that returns the original object
Date Tue, 15 Nov 2016 13:40:20 GMT
I agree, assuming that tap is not overloaded in any other popular use or language, it is not
likely we would want to define tap in another way. Then we can appease both viewpoints. The
other very important reason for with(boolean, Closure) and tap is that unfortunately .with(boolean,
Closure) will always trigger warning about not returning from IDE, while tap can declare Closure<Void>
I think which hopefully can trigger IDE to say no return is needed?


From: Søren Berg Glasius (GR8Conf EU) []
Sent: Tuesday, November 15, 2016 3:51 AM
Subject: Re: .with() variant that returns the original object


I like that you provide both .with(true, Closure) and .tap(Closure)

Best regards,
Søren Berg Glasius
GR8Conf Europe organizing team

GR8Conf ApS
Mobile: +45 40 44 91 88, Web:<>, Skype: sbglasius
Company Address: Buchwaldsgade 50, 5000 Odense C, Denmark
Personal Address: Hedevej 1, Gl. Rye, 8680 Ry, Denmark
--- GR8Conf - Dedicated to the Groovy Ecosystem

From: Guillaume Laforge <><>
Reply:<> <><>
Date: 15. november 2016 at 09.24.36
To:<> <><>,
Paul King <><>
Subject:  Re: .with() variant that returns the original object

Sounds good to me!

On Tue, Nov 15, 2016 at 9:17 AM, Paul King <<>>
Ok, disussion seems to have finished on this topic. I was planning to
merge Christoph's PR with minor tweaks as needed. I was going to use
'tap' as the name.

At this stage, unless I hear violent objections, I was also planning
to provide the additional variant that was discussed:

with(boolean returning, Closure closure)

so folks could use with(true) if they wanted. It's a little clunky but
is the kind of thing we do in other places within Groovy, provides an
alternative for anyone that finds 'tap' totally foreign and might also
help steer users between the two related methods.

Cheers, Paul.

On Thu, Nov 10, 2016 at 3:04 PM, Paul King <<>>
> On Thu, Nov 10, 2016 at 6:45 AM, Jordan Martinez
> <<>> wrote:
>> What about `object.itselfWith(Closure)`? Then its understood as returning
>> the object itself but with the changes that follow.
> Both variants use 'itself' but only one returns 'itself', so I would
> regard that prefix as not distinguishing enough. You'd need something
> like 'withThen' or 'withReturning' to help distinguish between the
> two. The problem with 'withReturning' is that it is longer
> (character-wise) than 'with(true)' or just adding 'return it' or 'it'
> to the end of the closure - not that numbers of characters alone
> should be the most important metric.
> Cheers, Paul.

Guillaume Laforge
Apache Groovy committer & PMC Vice-President
Developer Advocate @ Google Cloud Platform

Social: @glaforge<> / Google+<>

This email message and any attachments are for the sole use of the intended recipient(s).
Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the
intended recipient, please contact the sender by reply email and destroy all copies of the
original message and any attachments.
View raw message