[commons-lang3] NumberUtils feature

classic Classic list List threaded Threaded
11 messages Options
Reply | Threaded
Open this post in threaded view
|

[commons-lang3] NumberUtils feature

Lucas Carvalho
Hello everybody,

I want know if the feature "between" in NumberUtils lib has be discussed? I use this methods a lot and i would like to share this code in apache commons.

Below i share a example:


Thanks.

Lucas Carvalho

Reply | Threaded
Open this post in threaded view
|

Re: [commons-lang3] NumberUtils feature

Gilles Sadowski
Hi.

On Fri, 29 Dec 2017 09:51:59 -0200, Lucas Carvalho wrote:

> Hello everybody,
>
> I want know if the feature "between" in NumberUtils lib has be
> discussed? I
> use this methods a lot and i would like to share this code in apache
> commons.
>
> Below i share a example:
>
> [image: Inline image 1]

All I can see is the above.
[Perhaps the image was stripped.]

I assume it is code; so, please write it here as "text".

Thanks,
Gilles

>
> Thanks.
>
> Lucas Carvalho


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: [commons-lang3] NumberUtils feature

Lucas Carvalho
I`m sorry,

Now code in "text":

public static boolean between(final int value, final int x, final int y) {

   return value >= x && value <= y;

}


public static boolean between(final short value, final short x, final short
y) {

   return value >= x && value <= y;

}



Obrigado.

Atenciosamente

Lucas Carvalho

*Fone *- 34 9 9903 4621

On Fri, Dec 29, 2017 at 11:47 AM, Gilles <[hidden email]>
wrote:

> Hi.
>
> On Fri, 29 Dec 2017 09:51:59 -0200, Lucas Carvalho wrote:
>
>> Hello everybody,
>>
>> I want know if the feature "between" in NumberUtils lib has be discussed?
>> I
>> use this methods a lot and i would like to share this code in apache
>> commons.
>>
>> Below i share a example:
>>
>> [image: Inline image 1]
>>
>
> All I can see is the above.
> [Perhaps the image was stripped.]
>
> I assume it is code; so, please write it here as "text".
>
> Thanks,
> Gilles
>
>
>> Thanks.
>>
>> Lucas Carvalho
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
>
Reply | Threaded
Open this post in threaded view
|

Re: [commons-lang3] NumberUtils feature

Gilles Sadowski
Hi.

On Fri, 29 Dec 2017 11:53:29 -0200, Lucas Carvalho wrote:

> I`m sorry,
>
> Now code in "text":
>
> public static boolean between(final int value, final int x, final int
> y) {
>
>    return value >= x && value <= y;
>
> }
>
>
> public static boolean between(final short value, final short x, final
> short
> y) {
>
>    return value >= x && value <= y;
>
> }

To comply with the Java convention, it should probably be "isBetween".

Incidently, this also shows a weakness of "Utils" classes: the "target"
(which would normally be "this") is on the same footing as the other
arguments (the bounds of the interval here).

Also the naming does not reflect whether bounds are included or not:
usually, one would assume that the left bound is included (>=) but not
the right one (<).

Then, what about "between(15, 20, 10)"?

Finally, we should consider whether to continue bloating "NumberUtils"
in "Lang" or move some of it to the new "Numbers" component.[1]

Regards,
Gilles

[1]
https://git1-us-west.apache.org/repos/asf?p=commons-numbers.git;a=tree

>
>
>
> Obrigado.
>
> Atenciosamente
>
> Lucas Carvalho
>
> *Fone *- 34 9 9903 4621
>
> On Fri, Dec 29, 2017 at 11:47 AM, Gilles
> <[hidden email]>
> wrote:
>
>> Hi.
>>
>> On Fri, 29 Dec 2017 09:51:59 -0200, Lucas Carvalho wrote:
>>
>>> Hello everybody,
>>>
>>> I want know if the feature "between" in NumberUtils lib has be
>>> discussed?
>>> I
>>> use this methods a lot and i would like to share this code in
>>> apache
>>> commons.
>>>
>>> Below i share a example:
>>>
>>> [image: Inline image 1]
>>>
>>
>> All I can see is the above.
>> [Perhaps the image was stripped.]
>>
>> I assume it is code; so, please write it here as "text".
>>
>> Thanks,
>> Gilles
>>
>>
>>> Thanks.
>>>
>>> Lucas Carvalho
>>>
>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [hidden email]
>> For additional commands, e-mail: [hidden email]
>>
>>


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: [commons-lang3] NumberUtils feature

Lucas Carvalho
Gilles, thanks for you reply.

I will consider your sugestions.

So, can i open a issue in jira (apache commons) and implement this feature?

Thanks.

Lucas Carvalho



On Fri, Dec 29, 2017 at 12:25 PM, Gilles <[hidden email]>
wrote:

> Hi.
>
> On Fri, 29 Dec 2017 11:53:29 -0200, Lucas Carvalho wrote:
>
>> I`m sorry,
>>
>> Now code in "text":
>>
>> public static boolean between(final int value, final int x, final int y) {
>>
>>    return value >= x && value <= y;
>>
>> }
>>
>>
>> public static boolean between(final short value, final short x, final
>> short
>> y) {
>>
>>    return value >= x && value <= y;
>>
>> }
>>
>
> To comply with the Java convention, it should probably be "isBetween".
>
> Incidently, this also shows a weakness of "Utils" classes: the "target"
> (which would normally be "this") is on the same footing as the other
> arguments (the bounds of the interval here).
>
> Also the naming does not reflect whether bounds are included or not:
> usually, one would assume that the left bound is included (>=) but not
> the right one (<).
>
> Then, what about "between(15, 20, 10)"?
>
> Finally, we should consider whether to continue bloating "NumberUtils"
> in "Lang" or move some of it to the new "Numbers" component.[1]
>
> Regards,
> Gilles
>
> [1] https://git1-us-west.apache.org/repos/asf?p=commons-numbers.git;a=tree
>
>
>>
>>
>> Obrigado.
>>
>> Atenciosamente
>>
>> Lucas Carvalho
>>
>> *Fone *- 34 9 9903 4621
>>
>> On Fri, Dec 29, 2017 at 11:47 AM, Gilles <[hidden email]>
>> wrote:
>>
>> Hi.
>>>
>>> On Fri, 29 Dec 2017 09:51:59 -0200, Lucas Carvalho wrote:
>>>
>>> Hello everybody,
>>>>
>>>> I want know if the feature "between" in NumberUtils lib has be
>>>> discussed?
>>>> I
>>>> use this methods a lot and i would like to share this code in apache
>>>> commons.
>>>>
>>>> Below i share a example:
>>>>
>>>> [image: Inline image 1]
>>>>
>>>>
>>> All I can see is the above.
>>> [Perhaps the image was stripped.]
>>>
>>> I assume it is code; so, please write it here as "text".
>>>
>>> Thanks,
>>> Gilles
>>>
>>>
>>> Thanks.
>>>>
>>>> Lucas Carvalho
>>>>
>>>>
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: [hidden email]
>>> For additional commands, e-mail: [hidden email]
>>>
>>>
>>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
>
Reply | Threaded
Open this post in threaded view
|

Re: [commons-lang3] NumberUtils feature

Gilles Sadowski
On Fri, 29 Dec 2017 16:19:05 -0200, Lucas Carvalho wrote:
> Gilles, thanks for you reply.
>
> I will consider your sugestions.
>
> So, can i open a issue in jira (apache commons) and implement this
> feature?

Better wait for other opinions on the various suggestions,
as it impacts on which JIRA project you'd open the issue.

Regards,
Gilles

>
> Thanks.
>
> Lucas Carvalho
>
>
>
> On Fri, Dec 29, 2017 at 12:25 PM, Gilles
> <[hidden email]>
> wrote:
>
>> Hi.
>>
>> On Fri, 29 Dec 2017 11:53:29 -0200, Lucas Carvalho wrote:
>>
>>> I`m sorry,
>>>
>>> Now code in "text":
>>>
>>> public static boolean between(final int value, final int x, final
>>> int y) {
>>>
>>>    return value >= x && value <= y;
>>>
>>> }
>>>
>>>
>>> public static boolean between(final short value, final short x,
>>> final
>>> short
>>> y) {
>>>
>>>    return value >= x && value <= y;
>>>
>>> }
>>>
>>
>> To comply with the Java convention, it should probably be
>> "isBetween".
>>
>> Incidently, this also shows a weakness of "Utils" classes: the
>> "target"
>> (which would normally be "this") is on the same footing as the other
>> arguments (the bounds of the interval here).
>>
>> Also the naming does not reflect whether bounds are included or not:
>> usually, one would assume that the left bound is included (>=) but
>> not
>> the right one (<).
>>
>> Then, what about "between(15, 20, 10)"?
>>
>> Finally, we should consider whether to continue bloating
>> "NumberUtils"
>> in "Lang" or move some of it to the new "Numbers" component.[1]
>>
>> Regards,
>> Gilles
>>
>> [1]
>> https://git1-us-west.apache.org/repos/asf?p=commons-numbers.git;a=tree
>>
>>
>>>
>>>
>>> Obrigado.
>>>
>>> Atenciosamente
>>>
>>> Lucas Carvalho
>>>
>>> *Fone *- 34 9 9903 4621
>>>
>>> On Fri, Dec 29, 2017 at 11:47 AM, Gilles
>>> <[hidden email]>
>>> wrote:
>>>
>>> Hi.
>>>>
>>>> On Fri, 29 Dec 2017 09:51:59 -0200, Lucas Carvalho wrote:
>>>>
>>>> Hello everybody,
>>>>>
>>>>> I want know if the feature "between" in NumberUtils lib has be
>>>>> discussed?
>>>>> I
>>>>> use this methods a lot and i would like to share this code in
>>>>> apache
>>>>> commons.
>>>>>
>>>>> Below i share a example:
>>>>>
>>>>> [image: Inline image 1]
>>>>>
>>>>>
>>>> All I can see is the above.
>>>> [Perhaps the image was stripped.]
>>>>
>>>> I assume it is code; so, please write it here as "text".
>>>>
>>>> Thanks,
>>>> Gilles
>>>>
>>>>
>>>> Thanks.
>>>>>
>>>>> Lucas Carvalho


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

AW: [commons-lang3] NumberUtils feature

Jan Matèrne (jhm)
Maybe open the comparators and use a fluent API?
is(42).between(10).and(50) == true
is(10).between(10).and(20) == false
is(10).between(10).and(20).includingLeft() == true
is(50).between(10).and(50) == false
is(50).between(10).and(50).includingRight() == true


Just quick thoughts ...

Jan


> -----Ursprüngliche Nachricht-----
> Von: Gilles [mailto:[hidden email]]
> Gesendet: Freitag, 29. Dezember 2017 22:46
> An: [hidden email]
> Betreff: Re: [commons-lang3] NumberUtils feature
>
> On Fri, 29 Dec 2017 16:19:05 -0200, Lucas Carvalho wrote:
> > Gilles, thanks for you reply.
> >
> > I will consider your sugestions.
> >
> > So, can i open a issue in jira (apache commons) and implement this
> > feature?
>
> Better wait for other opinions on the various suggestions, as it
> impacts on which JIRA project you'd open the issue.
>
> Regards,
> Gilles
>
> >
> > Thanks.
> >
> > Lucas Carvalho
> >
> >
> >
> > On Fri, Dec 29, 2017 at 12:25 PM, Gilles
> > <[hidden email]>
> > wrote:
> >
> >> Hi.
> >>
> >> On Fri, 29 Dec 2017 11:53:29 -0200, Lucas Carvalho wrote:
> >>
> >>> I`m sorry,
> >>>
> >>> Now code in "text":
> >>>
> >>> public static boolean between(final int value, final int x, final
> >>> int y) {
> >>>
> >>>    return value >= x && value <= y;
> >>>
> >>> }
> >>>
> >>>
> >>> public static boolean between(final short value, final short x,
> >>> final short
> >>> y) {
> >>>
> >>>    return value >= x && value <= y;
> >>>
> >>> }
> >>>
> >>
> >> To comply with the Java convention, it should probably be
> >> "isBetween".
> >>
> >> Incidently, this also shows a weakness of "Utils" classes: the
> >> "target"
> >> (which would normally be "this") is on the same footing as the other
> >> arguments (the bounds of the interval here).
> >>
> >> Also the naming does not reflect whether bounds are included or not:
> >> usually, one would assume that the left bound is included (>=) but
> >> not the right one (<).
> >>
> >> Then, what about "between(15, 20, 10)"?
> >>
> >> Finally, we should consider whether to continue bloating
> >> "NumberUtils"
> >> in "Lang" or move some of it to the new "Numbers" component.[1]
> >>
> >> Regards,
> >> Gilles
> >>
> >> [1]
> >> https://git1-us-west.apache.org/repos/asf?p=commons-
> numbers.git;a=tre
> >> e
> >>
> >>
> >>>
> >>>
> >>> Obrigado.
> >>>
> >>> Atenciosamente
> >>>
> >>> Lucas Carvalho
> >>>
> >>> *Fone *- 34 9 9903 4621
> >>>
> >>> On Fri, Dec 29, 2017 at 11:47 AM, Gilles
> >>> <[hidden email]>
> >>> wrote:
> >>>
> >>> Hi.
> >>>>
> >>>> On Fri, 29 Dec 2017 09:51:59 -0200, Lucas Carvalho wrote:
> >>>>
> >>>> Hello everybody,
> >>>>>
> >>>>> I want know if the feature "between" in NumberUtils lib has be
> >>>>> discussed?
> >>>>> I
> >>>>> use this methods a lot and i would like to share this code in
> >>>>> apache commons.
> >>>>>
> >>>>> Below i share a example:
> >>>>>
> >>>>> [image: Inline image 1]
> >>>>>
> >>>>>
> >>>> All I can see is the above.
> >>>> [Perhaps the image was stripped.]
> >>>>
> >>>> I assume it is code; so, please write it here as "text".
> >>>>
> >>>> Thanks,
> >>>> Gilles
> >>>>
> >>>>
> >>>> Thanks.
> >>>>>
> >>>>> Lucas Carvalho
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]



---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: AW: [commons-lang3] NumberUtils feature

Gilles Sadowski
On Sat, 30 Dec 2017 14:25:32 +0100, Jan Matèrne wrote:
> Maybe open the comparators and use a fluent API?
> is(42).between(10).and(50) == true
> is(10).between(10).and(20) == false
> is(10).between(10).and(20).includingLeft() == true
> is(50).between(10).and(50) == false
> is(50).between(10).and(50).includingRight() == true

There is "Range":
   
http://commons.apache.org/proper/commons-lang/javadocs/api-release/org/apache/commons/lang3/Range.html

Is the original suggestion meant to create an implementation
for primitive types?

Gilles

>
>
> Just quick thoughts ...
>
> Jan
>
>
>> -----Ursprüngliche Nachricht-----
>> Von: Gilles [mailto:[hidden email]]
>> Gesendet: Freitag, 29. Dezember 2017 22:46
>> An: [hidden email]
>> Betreff: Re: [commons-lang3] NumberUtils feature
>>
>> On Fri, 29 Dec 2017 16:19:05 -0200, Lucas Carvalho wrote:
>> > Gilles, thanks for you reply.
>> >
>> > I will consider your sugestions.
>> >
>> > So, can i open a issue in jira (apache commons) and implement this
>> > feature?
>>
>> Better wait for other opinions on the various suggestions, as it
>> impacts on which JIRA project you'd open the issue.
>>
>> Regards,
>> Gilles
>>
>> >
>> > Thanks.
>> >
>> > Lucas Carvalho
>> >
>> >
>> >
>> > On Fri, Dec 29, 2017 at 12:25 PM, Gilles
>> > <[hidden email]>
>> > wrote:
>> >
>> >> Hi.
>> >>
>> >> On Fri, 29 Dec 2017 11:53:29 -0200, Lucas Carvalho wrote:
>> >>
>> >>> I`m sorry,
>> >>>
>> >>> Now code in "text":
>> >>>
>> >>> public static boolean between(final int value, final int x,
>> final
>> >>> int y) {
>> >>>
>> >>>    return value >= x && value <= y;
>> >>>
>> >>> }
>> >>>
>> >>>
>> >>> public static boolean between(final short value, final short x,
>> >>> final short
>> >>> y) {
>> >>>
>> >>>    return value >= x && value <= y;
>> >>>
>> >>> }
>> >>>
>> >>
>> >> To comply with the Java convention, it should probably be
>> >> "isBetween".
>> >>
>> >> Incidently, this also shows a weakness of "Utils" classes: the
>> >> "target"
>> >> (which would normally be "this") is on the same footing as the
>> other
>> >> arguments (the bounds of the interval here).
>> >>
>> >> Also the naming does not reflect whether bounds are included or
>> not:
>> >> usually, one would assume that the left bound is included (>=)
>> but
>> >> not the right one (<).
>> >>
>> >> Then, what about "between(15, 20, 10)"?
>> >>
>> >> Finally, we should consider whether to continue bloating
>> >> "NumberUtils"
>> >> in "Lang" or move some of it to the new "Numbers" component.[1]
>> >>
>> >> Regards,
>> >> Gilles
>> >>
>> >> [1]
>> >> https://git1-us-west.apache.org/repos/asf?p=commons-
>> numbers.git;a=tre
>> >> e
>> >>
>> >>
>> >>>
>> >>>
>> >>> Obrigado.
>> >>>
>> >>> Atenciosamente
>> >>>
>> >>> Lucas Carvalho
>> >>>
>> >>> *Fone *- 34 9 9903 4621
>> >>>
>> >>> On Fri, Dec 29, 2017 at 11:47 AM, Gilles
>> >>> <[hidden email]>
>> >>> wrote:
>> >>>
>> >>> Hi.
>> >>>>
>> >>>> On Fri, 29 Dec 2017 09:51:59 -0200, Lucas Carvalho wrote:
>> >>>>
>> >>>> Hello everybody,
>> >>>>>
>> >>>>> I want know if the feature "between" in NumberUtils lib has be
>> >>>>> discussed?
>> >>>>> I
>> >>>>> use this methods a lot and i would like to share this code in
>> >>>>> apache commons.
>> >>>>>
>> >>>>> Below i share a example:
>> >>>>>
>> >>>>> [image: Inline image 1]
>> >>>>>
>> >>>>>
>> >>>> All I can see is the above.
>> >>>> [Perhaps the image was stripped.]
>> >>>>
>> >>>> I assume it is code; so, please write it here as "text".
>> >>>>
>> >>>> Thanks,
>> >>>> Gilles
>> >>>>
>> >>>>
>> >>>> Thanks.
>> >>>>>
>> >>>>> Lucas Carvalho


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: AW: [commons-lang3] NumberUtils feature

Javen O'Neal
I'm -1 for a static function as suggested by Lucas. It doesn't improve code
readability, and I'd argue that it decreases readability because of needing
to memorize operator order, ambiguous inclusivity of endpoints (unless you
add isStrictlyBetween), and doesn't gracefully handle mixed data types,
especially non-primitives like fixed precision decimals or fractions.

Even with better named endpoints x and y as min/max, lowerBound/upperBound.
What significant benefit does defining this function provide?

Java syntax might not be as concise as other languages like Python that
allow writing "lowerBound <= value <= upperBound", but a function call
doesn't seem right here.

BiInclusiveRange(lowerBound, upperBound).contains(value) seems like a
better approach.

On Dec 31, 2017 02:31, "Gilles" <[hidden email]> wrote:

On Sat, 30 Dec 2017 14:25:32 +0100, Jan Matèrne wrote:

> Maybe open the comparators and use a fluent API?
> is(42).between(10).and(50) == true
> is(10).between(10).and(20) == false
> is(10).between(10).and(20).includingLeft() == true
> is(50).between(10).and(50) == false
> is(50).between(10).and(50).includingRight() == true
>

There is "Range":
  http://commons.apache.org/proper/commons-lang/javadocs/api-
release/org/apache/commons/lang3/Range.html

Is the original suggestion meant to create an implementation
for primitive types?

Gilles



>
> Just quick thoughts ...
>
> Jan
>
>
> -----Ursprüngliche Nachricht-----
>> Von: Gilles [mailto:[hidden email]]
>> Gesendet: Freitag, 29. Dezember 2017 22:46
>> An: [hidden email]
>> Betreff: Re: [commons-lang3] NumberUtils feature
>>
>> On Fri, 29 Dec 2017 16:19:05 -0200, Lucas Carvalho wrote:
>> > Gilles, thanks for you reply.
>> >
>> > I will consider your sugestions.
>> >
>> > So, can i open a issue in jira (apache commons) and implement this
>> > feature?
>>
>> Better wait for other opinions on the various suggestions, as it
>> impacts on which JIRA project you'd open the issue.
>>
>> Regards,
>> Gilles
>>
>> >
>> > Thanks.
>> >
>> > Lucas Carvalho
>> >
>> >
>> >
>> > On Fri, Dec 29, 2017 at 12:25 PM, Gilles
>> > <[hidden email]>
>> > wrote:
>> >
>> >> Hi.
>> >>
>> >> On Fri, 29 Dec 2017 11:53:29 -0200, Lucas Carvalho wrote:
>> >>
>> >>> I`m sorry,
>> >>>
>> >>> Now code in "text":
>> >>>
>> >>> public static boolean between(final int value, final int x, final
>> >>> int y) {
>> >>>
>> >>>    return value >= x && value <= y;
>> >>>
>> >>> }
>> >>>
>> >>>
>> >>> public static boolean between(final short value, final short x,
>> >>> final short
>> >>> y) {
>> >>>
>> >>>    return value >= x && value <= y;
>> >>>
>> >>> }
>> >>>
>> >>
>> >> To comply with the Java convention, it should probably be
>> >> "isBetween".
>> >>
>> >> Incidently, this also shows a weakness of "Utils" classes: the
>> >> "target"
>> >> (which would normally be "this") is on the same footing as the other
>> >> arguments (the bounds of the interval here).
>> >>
>> >> Also the naming does not reflect whether bounds are included or not:
>> >> usually, one would assume that the left bound is included (>=) but
>> >> not the right one (<).
>> >>
>> >> Then, what about "between(15, 20, 10)"?
>> >>
>> >> Finally, we should consider whether to continue bloating
>> >> "NumberUtils"
>> >> in "Lang" or move some of it to the new "Numbers" component.[1]
>> >>
>> >> Regards,
>> >> Gilles
>> >>
>> >> [1]
>> >> https://git1-us-west.apache.org/repos/asf?p=commons-
>> numbers.git;a=tre
>> >> e
>> >>
>> >>
>> >>>
>> >>>
>> >>> Obrigado.
>> >>>
>> >>> Atenciosamente
>> >>>
>> >>> Lucas Carvalho
>> >>>
>> >>> *Fone *- 34 9 9903 4621
>> >>>
>> >>> On Fri, Dec 29, 2017 at 11:47 AM, Gilles
>> >>> <[hidden email]>
>> >>> wrote:
>> >>>
>> >>> Hi.
>> >>>>
>> >>>> On Fri, 29 Dec 2017 09:51:59 -0200, Lucas Carvalho wrote:
>> >>>>
>> >>>> Hello everybody,
>> >>>>>
>> >>>>> I want know if the feature "between" in NumberUtils lib has be
>> >>>>> discussed?
>> >>>>> I
>> >>>>> use this methods a lot and i would like to share this code in
>> >>>>> apache commons.
>> >>>>>
>> >>>>> Below i share a example:
>> >>>>>
>> >>>>> [image: Inline image 1]
>> >>>>>
>> >>>>>
>> >>>> All I can see is the above.
>> >>>> [Perhaps the image was stripped.]
>> >>>>
>> >>>> I assume it is code; so, please write it here as "text".
>> >>>>
>> >>>> Thanks,
>> >>>> Gilles
>> >>>>
>> >>>>
>> >>>> Thanks.
>> >>>>>
>> >>>>> Lucas Carvalho
>>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: AW: [commons-lang3] NumberUtils feature

Lucas Carvalho
In reply to this post by Gilles Sadowski
Hi Gilles,

When was thinking about this implementation, i was thinking in primitive
types and Object (Integer, Double....), but for Object, i think "Range" is
ok to use.

Thanks,

Lucas

On Sun, Dec 31, 2017 at 8:30 AM, Gilles <[hidden email]>
wrote:

> On Sat, 30 Dec 2017 14:25:32 +0100, Jan Matèrne wrote:
>
>> Maybe open the comparators and use a fluent API?
>> is(42).between(10).and(50) == true
>> is(10).between(10).and(20) == false
>> is(10).between(10).and(20).includingLeft() == true
>> is(50).between(10).and(50) == false
>> is(50).between(10).and(50).includingRight() == true
>>
>
> There is "Range":
>   http://commons.apache.org/proper/commons-lang/javadocs/api-
> release/org/apache/commons/lang3/Range.html
>
> Is the original suggestion meant to create an implementation
> for primitive types?
>
> Gilles
>
>
>>
>> Just quick thoughts ...
>>
>> Jan
>>
>>
>> -----Ursprüngliche Nachricht-----
>>> Von: Gilles [mailto:[hidden email]]
>>> Gesendet: Freitag, 29. Dezember 2017 22:46
>>> An: [hidden email]
>>> Betreff: Re: [commons-lang3] NumberUtils feature
>>>
>>> On Fri, 29 Dec 2017 16:19:05 -0200, Lucas Carvalho wrote:
>>> > Gilles, thanks for you reply.
>>> >
>>> > I will consider your sugestions.
>>> >
>>> > So, can i open a issue in jira (apache commons) and implement this
>>> > feature?
>>>
>>> Better wait for other opinions on the various suggestions, as it
>>> impacts on which JIRA project you'd open the issue.
>>>
>>> Regards,
>>> Gilles
>>>
>>> >
>>> > Thanks.
>>> >
>>> > Lucas Carvalho
>>> >
>>> >
>>> >
>>> > On Fri, Dec 29, 2017 at 12:25 PM, Gilles
>>> > <[hidden email]>
>>> > wrote:
>>> >
>>> >> Hi.
>>> >>
>>> >> On Fri, 29 Dec 2017 11:53:29 -0200, Lucas Carvalho wrote:
>>> >>
>>> >>> I`m sorry,
>>> >>>
>>> >>> Now code in "text":
>>> >>>
>>> >>> public static boolean between(final int value, final int x, final
>>> >>> int y) {
>>> >>>
>>> >>>    return value >= x && value <= y;
>>> >>>
>>> >>> }
>>> >>>
>>> >>>
>>> >>> public static boolean between(final short value, final short x,
>>> >>> final short
>>> >>> y) {
>>> >>>
>>> >>>    return value >= x && value <= y;
>>> >>>
>>> >>> }
>>> >>>
>>> >>
>>> >> To comply with the Java convention, it should probably be
>>> >> "isBetween".
>>> >>
>>> >> Incidently, this also shows a weakness of "Utils" classes: the
>>> >> "target"
>>> >> (which would normally be "this") is on the same footing as the other
>>> >> arguments (the bounds of the interval here).
>>> >>
>>> >> Also the naming does not reflect whether bounds are included or not:
>>> >> usually, one would assume that the left bound is included (>=) but
>>> >> not the right one (<).
>>> >>
>>> >> Then, what about "between(15, 20, 10)"?
>>> >>
>>> >> Finally, we should consider whether to continue bloating
>>> >> "NumberUtils"
>>> >> in "Lang" or move some of it to the new "Numbers" component.[1]
>>> >>
>>> >> Regards,
>>> >> Gilles
>>> >>
>>> >> [1]
>>> >> https://git1-us-west.apache.org/repos/asf?p=commons-
>>> numbers.git;a=tre
>>> >> e
>>> >>
>>> >>
>>> >>>
>>> >>>
>>> >>> Obrigado.
>>> >>>
>>> >>> Atenciosamente
>>> >>>
>>> >>> Lucas Carvalho
>>> >>>
>>> >>> *Fone *- 34 9 9903 4621
>>> >>>
>>> >>> On Fri, Dec 29, 2017 at 11:47 AM, Gilles
>>> >>> <[hidden email]>
>>> >>> wrote:
>>> >>>
>>> >>> Hi.
>>> >>>>
>>> >>>> On Fri, 29 Dec 2017 09:51:59 -0200, Lucas Carvalho wrote:
>>> >>>>
>>> >>>> Hello everybody,
>>> >>>>>
>>> >>>>> I want know if the feature "between" in NumberUtils lib has be
>>> >>>>> discussed?
>>> >>>>> I
>>> >>>>> use this methods a lot and i would like to share this code in
>>> >>>>> apache commons.
>>> >>>>>
>>> >>>>> Below i share a example:
>>> >>>>>
>>> >>>>> [image: Inline image 1]
>>> >>>>>
>>> >>>>>
>>> >>>> All I can see is the above.
>>> >>>> [Perhaps the image was stripped.]
>>> >>>>
>>> >>>> I assume it is code; so, please write it here as "text".
>>> >>>>
>>> >>>> Thanks,
>>> >>>> Gilles
>>> >>>>
>>> >>>>
>>> >>>> Thanks.
>>> >>>>>
>>> >>>>> Lucas Carvalho
>>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
>
Reply | Threaded
Open this post in threaded view
|

Re: AW: [commons-lang3] NumberUtils feature

Lucas Carvalho
In reply to this post by Javen O'Neal
Hello Javen,

Thanks for you reply, when i sended the code, i have writend quickly,
however, if this feature i`ll be aproved, i will follow java / API
convension.

Ps. When I think in "between function", the first thing that comes in the
head is SQL BETWEEN ...

Obrigado.

Atenciosamente

Lucas Carvalho

*Fone *- 34 9 9903 4621

On Mon, Jan 1, 2018 at 7:27 AM, Javen O'Neal <[hidden email]> wrote:

> I'm -1 for a static function as suggested by Lucas. It doesn't improve code
> readability, and I'd argue that it decreases readability because of needing
> to memorize operator order, ambiguous inclusivity of endpoints (unless you
> add isStrictlyBetween), and doesn't gracefully handle mixed data types,
> especially non-primitives like fixed precision decimals or fractions.
>
> Even with better named endpoints x and y as min/max, lowerBound/upperBound.
> What significant benefit does defining this function provide?
>
> Java syntax might not be as concise as other languages like Python that
> allow writing "lowerBound <= value <= upperBound", but a function call
> doesn't seem right here.
>
> BiInclusiveRange(lowerBound, upperBound).contains(value) seems like a
> better approach.
>
> On Dec 31, 2017 02:31, "Gilles" <[hidden email]> wrote:
>
> On Sat, 30 Dec 2017 14:25:32 +0100, Jan Matèrne wrote:
>
> > Maybe open the comparators and use a fluent API?
> > is(42).between(10).and(50) == true
> > is(10).between(10).and(20) == false
> > is(10).between(10).and(20).includingLeft() == true
> > is(50).between(10).and(50) == false
> > is(50).between(10).and(50).includingRight() == true
> >
>
> There is "Range":
>   http://commons.apache.org/proper/commons-lang/javadocs/api-
> release/org/apache/commons/lang3/Range.html
>
> Is the original suggestion meant to create an implementation
> for primitive types?
>
> Gilles
>
>
>
> >
> > Just quick thoughts ...
> >
> > Jan
> >
> >
> > -----Ursprüngliche Nachricht-----
> >> Von: Gilles [mailto:[hidden email]]
> >> Gesendet: Freitag, 29. Dezember 2017 22:46
> >> An: [hidden email]
> >> Betreff: Re: [commons-lang3] NumberUtils feature
> >>
> >> On Fri, 29 Dec 2017 16:19:05 -0200, Lucas Carvalho wrote:
> >> > Gilles, thanks for you reply.
> >> >
> >> > I will consider your sugestions.
> >> >
> >> > So, can i open a issue in jira (apache commons) and implement this
> >> > feature?
> >>
> >> Better wait for other opinions on the various suggestions, as it
> >> impacts on which JIRA project you'd open the issue.
> >>
> >> Regards,
> >> Gilles
> >>
> >> >
> >> > Thanks.
> >> >
> >> > Lucas Carvalho
> >> >
> >> >
> >> >
> >> > On Fri, Dec 29, 2017 at 12:25 PM, Gilles
> >> > <[hidden email]>
> >> > wrote:
> >> >
> >> >> Hi.
> >> >>
> >> >> On Fri, 29 Dec 2017 11:53:29 -0200, Lucas Carvalho wrote:
> >> >>
> >> >>> I`m sorry,
> >> >>>
> >> >>> Now code in "text":
> >> >>>
> >> >>> public static boolean between(final int value, final int x, final
> >> >>> int y) {
> >> >>>
> >> >>>    return value >= x && value <= y;
> >> >>>
> >> >>> }
> >> >>>
> >> >>>
> >> >>> public static boolean between(final short value, final short x,
> >> >>> final short
> >> >>> y) {
> >> >>>
> >> >>>    return value >= x && value <= y;
> >> >>>
> >> >>> }
> >> >>>
> >> >>
> >> >> To comply with the Java convention, it should probably be
> >> >> "isBetween".
> >> >>
> >> >> Incidently, this also shows a weakness of "Utils" classes: the
> >> >> "target"
> >> >> (which would normally be "this") is on the same footing as the other
> >> >> arguments (the bounds of the interval here).
> >> >>
> >> >> Also the naming does not reflect whether bounds are included or not:
> >> >> usually, one would assume that the left bound is included (>=) but
> >> >> not the right one (<).
> >> >>
> >> >> Then, what about "between(15, 20, 10)"?
> >> >>
> >> >> Finally, we should consider whether to continue bloating
> >> >> "NumberUtils"
> >> >> in "Lang" or move some of it to the new "Numbers" component.[1]
> >> >>
> >> >> Regards,
> >> >> Gilles
> >> >>
> >> >> [1]
> >> >> https://git1-us-west.apache.org/repos/asf?p=commons-
> >> numbers.git;a=tre
> >> >> e
> >> >>
> >> >>
> >> >>>
> >> >>>
> >> >>> Obrigado.
> >> >>>
> >> >>> Atenciosamente
> >> >>>
> >> >>> Lucas Carvalho
> >> >>>
> >> >>> *Fone *- 34 9 9903 4621
> >> >>>
> >> >>> On Fri, Dec 29, 2017 at 11:47 AM, Gilles
> >> >>> <[hidden email]>
> >> >>> wrote:
> >> >>>
> >> >>> Hi.
> >> >>>>
> >> >>>> On Fri, 29 Dec 2017 09:51:59 -0200, Lucas Carvalho wrote:
> >> >>>>
> >> >>>> Hello everybody,
> >> >>>>>
> >> >>>>> I want know if the feature "between" in NumberUtils lib has be
> >> >>>>> discussed?
> >> >>>>> I
> >> >>>>> use this methods a lot and i would like to share this code in
> >> >>>>> apache commons.
> >> >>>>>
> >> >>>>> Below i share a example:
> >> >>>>>
> >> >>>>> [image: Inline image 1]
> >> >>>>>
> >> >>>>>
> >> >>>> All I can see is the above.
> >> >>>> [Perhaps the image was stripped.]
> >> >>>>
> >> >>>> I assume it is code; so, please write it here as "text".
> >> >>>>
> >> >>>> Thanks,
> >> >>>> Gilles
> >> >>>>
> >> >>>>
> >> >>>> Thanks.
> >> >>>>>
> >> >>>>> Lucas Carvalho
> >>
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>