The NetRexx Comparison Operators in the IF and the SELECT statement ...

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

The NetRexx Comparison Operators in the IF and the SELECT statement ...

ThSITC
May I here note, please (personally) that the usual NetRexx Comparison
*operators* do
behave *differentlyI in a squence of (a) IF ... else IF ... else IF ...
else
*Block of statements* (as I call them), as in a  (b) SELECT *or SELECT
CASE statement!

In an IF statement (of any kind), any and all *comparisons are* CASEBLIND!

Within a SELEC BLOCK (of any kind) the *same condition* is taken to be
*case sensitive*!

I again do have (personally) the opinion, that *the same operator(s)*
shall have a *unique*
meaning in any *programing language* (as NetRexx is)!

Did discuss that very lengthy with MFC, Years ago, by the way!

The potential problem with the *current* behaviour of NetRexxC is:

Shall *anybody* decide to *change* a sequence of.

if   <condition1> ...
else if <condition2> ...
else ir >condition3> ...
else ...

into the (hopefully) semantical *equivalent* of:

select
     when  <condition1> ...
when <condition2> ...
when <condition3> ...
otherwise  ...
end

*then, you will see*, that NetRexx is the *only* language I do know,
where *Comparison Operators* do work *differently*, in their
proper *context* ...

Hope You all did know that, but: It's a PITY (personal view, only, of
course!)

Sorry when I did disturb this group, again; as so any times ... :-( ;-)
;-) ;-)

Thomas Schneider.

PS: When you don't yet know:

In SELECT statements, comparisons *are NOT* case blind!
*at least* in SELECT CASE statements, that I'm sure ...

In IF statements, They are *CASE BLIND*.

Full Stop, again, for Today!

Thomas.

--
Thomas Schneider, IT Consulting; http://www.thsitc.com; Vienna, Austria,
Europe

_______________________________________________
Ibm-netrexx mailing list
[hidden email]
Online Archive : http://ibm-netrexx.215625.n3.nabble.com/

Thomas Schneider, Vienna, Austria (Europe) :-)

www.thsitc.com
www.db-123.com
Reply | Threaded
Open this post in threaded view
|

Re: The NetRexx Comparison Operators in the IF and the SELECT statement ...

billfen
Thomas,

I find this very interesting.  Can you give us a sample program which
demonstrates it?

Thanks.

Bill

On 3/29/2013 1:48 PM, Thomas Schneider wrote:

> May I here note, please (personally) that the usual NetRexx Comparison
> *operators* do
> behave *differentlyI in a squence of (a) IF ... else IF ... else IF
> ... else
> *Block of statements* (as I call them), as in a  (b) SELECT *or SELECT
> CASE statement!
>
> In an IF statement (of any kind), any and all *comparisons are*
> CASEBLIND!
>
> Within a SELEC BLOCK (of any kind) the *same condition* is taken to be
> *case sensitive*!
>
> I again do have (personally) the opinion, that *the same operator(s)*
> shall have a *unique*
> meaning in any *programing language* (as NetRexx is)!
>
> Did discuss that very lengthy with MFC, Years ago, by the way!
>
> The potential problem with the *current* behaviour of NetRexxC is:
>
> Shall *anybody* decide to *change* a sequence of.
>
> if   <condition1> ...
> else if <condition2> ...
> else ir >condition3> ...
> else ...
>
> into the (hopefully) semantical *equivalent* of:
>
> select
>     when  <condition1> ...
> when <condition2> ...
> when <condition3> ...
> otherwise  ...
> end
>
> *then, you will see*, that NetRexx is the *only* language I do know,
> where *Comparison Operators* do work *differently*, in their
> proper *context* ...
>
> Hope You all did know that, but: It's a PITY (personal view, only, of
> course!)
>
> Sorry when I did disturb this group, again; as so any times ... :-(
> ;-) ;-) ;-)
>
> Thomas Schneider.
>
> PS: When you don't yet know:
>
> In SELECT statements, comparisons *are NOT* case blind!
> *at least* in SELECT CASE statements, that I'm sure ...
>
> In IF statements, They are *CASE BLIND*.
>
> Full Stop, again, for Today!
>
> Thomas.
>

_______________________________________________
Ibm-netrexx mailing list
[hidden email]
Online Archive : http://ibm-netrexx.215625.n3.nabble.com/

Reply | Threaded
Open this post in threaded view
|

Re: The NetRexx Comparison Operators in the IF and the SELECT statement ...

ThSITC
Hi Bill!

For *sure*, I will do, but *a bit later* ...
It's now 07:00 o'clock, nearly, here in Vienna, and, frankly speaking; I
did work (again) the whole night thru...

But as I have alsways been a *night worker*, I shall survive, for sure...

I shall *prepare*  some

*very simple* testcases, for this, at least until end of next week!

I do have still to retest, whether:

a= 'XYZ'

select
    when a='abc' then ...
    when a='def' then ...
    when a='xyz' then ...
    otherwise ...
end--select

*and*

a='XYZ'

select case a
     when 'abc' then ...
     when 'def' then ...
     when 'xyz' then
     otherwise ...
end--select

do behave *equally* now, in the recent NetRexx Distrom (then this
problem has been corrected),
*or* not!

Did discuss this very lengthy with MFC, those times (2000-2001), but ....
... NetRexxC did remain, as it is now!

I (personally) do find that a bit *critical*!

Maybe a:

select strict case a

shall be needed for the *current behaviour*, just as a *reminder*, for a
novice ???

Who knows?

Will come up with the samples, at least, until end of next week!
Hope that is OK, for you, Bill!

Take the free days coming, and: Happy Easter!
=================================================================================

Am 29.03.2013 18:54, schrieb Bill Fenlason:

> Thomas,
>
> I find this very interesting.  Can you give us a sample program which
> demonstrates it?
>
> Thanks.
>
> Bill
>
> On 3/29/2013 1:48 PM, Thomas Schneider wrote:
>> May I here note, please (personally) that the usual NetRexx
>> Comparison *operators* do
>> behave *differentlyI in a squence of (a) IF ... else IF ... else IF
>> ... else
>> *Block of statements* (as I call them), as in a  (b) SELECT *or
>> SELECT CASE statement!
>>
>> In an IF statement (of any kind), any and all *comparisons are*
>> CASEBLIND!
>>
>> Within a SELEC BLOCK (of any kind) the *same condition* is taken to
>> be *case sensitive*!
>>
>> I again do have (personally) the opinion, that *the same operator(s)*
>> shall have a *unique*
>> meaning in any *programing language* (as NetRexx is)!
>>
>> Did discuss that very lengthy with MFC, Years ago, by the way!
>>
>> The potential problem with the *current* behaviour of NetRexxC is:
>>
>> Shall *anybody* decide to *change* a sequence of.
>>
>> if   <condition1> ...
>> else if <condition2> ...
>> else ir >condition3> ...
>> else ...
>>
>> into the (hopefully) semantical *equivalent* of:
>>
>> select
>>     when  <condition1> ...
>> when <condition2> ...
>> when <condition3> ...
>> otherwise  ...
>> end
>>
>> *then, you will see*, that NetRexx is the *only* language I do know,
>> where *Comparison Operators* do work *differently*, in their
>> proper *context* ...
>>
>> Hope You all did know that, but: It's a PITY (personal view, only, of
>> course!)
>>
>> Sorry when I did disturb this group, again; as so any times ... :-(
>> ;-) ;-) ;-)
>>
>> Thomas Schneider.
>>
>> PS: When you don't yet know:
>>
>> In SELECT statements, comparisons *are NOT* case blind!
>> *at least* in SELECT CASE statements, that I'm sure ...
>>
>> In IF statements, They are *CASE BLIND*.
>>
>> Full Stop, again, for Today!
>>
>> Thomas.
>>
>
> _______________________________________________
> Ibm-netrexx mailing list
> [hidden email]
> Online Archive : http://ibm-netrexx.215625.n3.nabble.com/
>
>


--
Thomas Schneider, IT Consulting; http://www.thsitc.com; Vienna, Austria,
Europe

_______________________________________________
Ibm-netrexx mailing list
[hidden email]
Online Archive : http://ibm-netrexx.215625.n3.nabble.com/

Thomas Schneider, Vienna, Austria (Europe) :-)

www.thsitc.com
www.db-123.com
Reply | Threaded
Open this post in threaded view
|

Re: The NetRexx Comparison Operators in the IF and the SELECT statement ...

ThSITC
Oh, WOOOOOOOOOOOOOOOOOOW!

Just, I did see, it's only 19:00 o'clock at the evening!

Did any of you professional programmers outside there everywhere in the
world have
also this *experience* I did have so many times, in my live, that ....

... when really working *hard* on an issue you do want to complete,
*now*, as my pending releases,
in my case ....

............ You (*or* at least *I*, am *simply *lost* everywhere ...
*Concentrating*, as much as I can,
to *finish*, what *I* did start (may it be: Years ago ...)

............... and then, getting ther mail of Bill, just a quarter of
an hour ago, looking at my clock,
*not knowing* actually how long I did work, today, and *thinking* it's
07:00 o'clock, here, in Vienna, *tomorrow*!

I'm really *Crazy Uncle Tom* (as Mike Measel did define me ...)

But: *frankly speaking:

I do *like* the freedom of beeing (a bit) CRAZY!

And, I *do like* to *do*, what *I do want to do* (as we all, of course!)

Sleep all well, this weekend, EASTER is coming ...

Thomas.
====================================================================
Am 29.03.2013 19:10, schrieb Thomas Schneider:

> Hi Bill!
>
> For *sure*, I will do, but *a bit later* ...
> It's now 07:00 o'clock, nearly, here in Vienna, and, frankly speaking;
> I did work (again) the whole night thru...
>
> But as I have alsways been a *night worker*, I shall survive, for sure...
>
> I shall *prepare*  some
>
> *very simple* testcases, for this, at least until end of next week!
>
> I do have still to retest, whether:
>
> a= 'XYZ'
>
> select
>    when a='abc' then ...
>    when a='def' then ...
>    when a='xyz' then ...
>    otherwise ...
> end--select
>
> *and*
>
> a='XYZ'
>
> select case a
>     when 'abc' then ...
>     when 'def' then ...
>     when 'xyz' then
>     otherwise ...
> end--select
>
> do behave *equally* now, in the recent NetRexx Distrom (then this
> problem has been corrected),
> *or* not!
>
> Did discuss this very lengthy with MFC, those times (2000-2001), but ....
> ... NetRexxC did remain, as it is now!
>
> I (personally) do find that a bit *critical*!
>
> Maybe a:
>
> select strict case a
>
> shall be needed for the *current behaviour*, just as a *reminder*, for
> a novice ???
>
> Who knows?
>
> Will come up with the samples, at least, until end of next week!
> Hope that is OK, for you, Bill!
>
> Take the free days coming, and: Happy Easter!
> =================================================================================
>
> Am 29.03.2013 18:54, schrieb Bill Fenlason:
>> Thomas,
>>
>> I find this very interesting.  Can you give us a sample program which
>> demonstrates it?
>>
>> Thanks.
>>
>> Bill
>>
>> On 3/29/2013 1:48 PM, Thomas Schneider wrote:
>>> May I here note, please (personally) that the usual NetRexx
>>> Comparison *operators* do
>>> behave *differentlyI in a squence of (a) IF ... else IF ... else IF
>>> ... else
>>> *Block of statements* (as I call them), as in a  (b) SELECT *or
>>> SELECT CASE statement!
>>>
>>> In an IF statement (of any kind), any and all *comparisons are*
>>> CASEBLIND!
>>>
>>> Within a SELEC BLOCK (of any kind) the *same condition* is taken to
>>> be *case sensitive*!
>>>
>>> I again do have (personally) the opinion, that *the same
>>> operator(s)* shall have a *unique*
>>> meaning in any *programing language* (as NetRexx is)!
>>>
>>> Did discuss that very lengthy with MFC, Years ago, by the way!
>>>
>>> The potential problem with the *current* behaviour of NetRexxC is:
>>>
>>> Shall *anybody* decide to *change* a sequence of.
>>>
>>> if   <condition1> ...
>>> else if <condition2> ...
>>> else ir >condition3> ...
>>> else ...
>>>
>>> into the (hopefully) semantical *equivalent* of:
>>>
>>> select
>>>     when  <condition1> ...
>>> when <condition2> ...
>>> when <condition3> ...
>>> otherwise  ...
>>> end
>>>
>>> *then, you will see*, that NetRexx is the *only* language I do know,
>>> where *Comparison Operators* do work *differently*, in their
>>> proper *context* ...
>>>
>>> Hope You all did know that, but: It's a PITY (personal view, only,
>>> of course!)
>>>
>>> Sorry when I did disturb this group, again; as so any times ... :-(
>>> ;-) ;-) ;-)
>>>
>>> Thomas Schneider.
>>>
>>> PS: When you don't yet know:
>>>
>>> In SELECT statements, comparisons *are NOT* case blind!
>>> *at least* in SELECT CASE statements, that I'm sure ...
>>>
>>> In IF statements, They are *CASE BLIND*.
>>>
>>> Full Stop, again, for Today!
>>>
>>> Thomas.
>>>
>>
>> _______________________________________________
>> Ibm-netrexx mailing list
>> [hidden email]
>> Online Archive : http://ibm-netrexx.215625.n3.nabble.com/
>>
>>
>
>


--
Thomas Schneider, IT Consulting; http://www.thsitc.com; Vienna, Austria,
Europe

_______________________________________________
Ibm-netrexx mailing list
[hidden email]
Online Archive : http://ibm-netrexx.215625.n3.nabble.com/

Thomas Schneider, Vienna, Austria (Europe) :-)

www.thsitc.com
www.db-123.com
Reply | Threaded
Open this post in threaded view
|

Re: The NetRexx Comparison Operators in the IF and the SELECT statement ...

billfen
In reply to this post by ThSITC
Thomas,

I think I see what you are saying.  The "select case" phrase uses the
strict equality operator ("=="), and if something like "when a = 'abc' "
is used, the execution will be different.  NetRexx doesn't supply a
non-strict version of the select case phrase.  Yet another thing to add?

Bill

On 3/29/2013 2:10 PM, Thomas Schneider wrote:

> Hi Bill!
>
> For *sure*, I will do, but *a bit later* ...
> It's now 07:00 o'clock, nearly, here in Vienna, and, frankly speaking;
> I did work (again) the whole night thru...
>
> But as I have alsways been a *night worker*, I shall survive, for sure...
>
> I shall *prepare*  some
>
> *very simple* testcases, for this, at least until end of next week!
>
> I do have still to retest, whether:
>
> a= 'XYZ'
>
> select
>    when a='abc' then ...
>    when a='def' then ...
>    when a='xyz' then ...
>    otherwise ...
> end--select
>
> *and*
>
> a='XYZ'
>
> select case a
>     when 'abc' then ...
>     when 'def' then ...
>     when 'xyz' then
>     otherwise ...
> end--select
>
> do behave *equally* now, in the recent NetRexx Distrom (then this
> problem has been corrected),
> *or* not!
>
> Did discuss this very lengthy with MFC, those times (2000-2001), but ....
> ... NetRexxC did remain, as it is now!
>
> I (personally) do find that a bit *critical*!
>
> Maybe a:
>
> select strict case a
>
> shall be needed for the *current behaviour*, just as a *reminder*, for
> a novice ???
>
> Who knows?
>
> Will come up with the samples, at least, until end of next week!
> Hope that is OK, for you, Bill!
>
> Take the free days coming, and: Happy Easter!
> =================================================================================
>
> Am 29.03.2013 18:54, schrieb Bill Fenlason:
>> Thomas,
>>
>> I find this very interesting.  Can you give us a sample program which
>> demonstrates it?
>>
>> Thanks.
>>
>> Bill
>>
>> On 3/29/2013 1:48 PM, Thomas Schneider wrote:
>>> May I here note, please (personally) that the usual NetRexx
>>> Comparison *operators* do
>>> behave *differentlyI in a squence of (a) IF ... else IF ... else IF
>>> ... else
>>> *Block of statements* (as I call them), as in a  (b) SELECT *or
>>> SELECT CASE statement!
>>>
>>> In an IF statement (of any kind), any and all *comparisons are*
>>> CASEBLIND!
>>>
>>> Within a SELEC BLOCK (of any kind) the *same condition* is taken to
>>> be *case sensitive*!
>>>
>>> I again do have (personally) the opinion, that *the same
>>> operator(s)* shall have a *unique*
>>> meaning in any *programing language* (as NetRexx is)!
>>>
>>> Did discuss that very lengthy with MFC, Years ago, by the way!
>>>
>>> The potential problem with the *current* behaviour of NetRexxC is:
>>>
>>> Shall *anybody* decide to *change* a sequence of.
>>>
>>> if   <condition1> ...
>>> else if <condition2> ...
>>> else ir >condition3> ...
>>> else ...
>>>
>>> into the (hopefully) semantical *equivalent* of:
>>>
>>> select
>>>     when  <condition1> ...
>>> when <condition2> ...
>>> when <condition3> ...
>>> otherwise  ...
>>> end
>>>
>>> *then, you will see*, that NetRexx is the *only* language I do know,
>>> where *Comparison Operators* do work *differently*, in their
>>> proper *context* ...
>>>
>>> Hope You all did know that, but: It's a PITY (personal view, only,
>>> of course!)
>>>
>>> Sorry when I did disturb this group, again; as so any times ... :-(
>>> ;-) ;-) ;-)
>>>
>>> Thomas Schneider.
>>>
>>> PS: When you don't yet know:
>>>
>>> In SELECT statements, comparisons *are NOT* case blind!
>>> *at least* in SELECT CASE statements, that I'm sure ...
>>>
>>> In IF statements, They are *CASE BLIND*.
>>>
>>> Full Stop, again, for Today!
>>>
>>> Thomas.
>>>
>>
>> _______________________________________________
>> Ibm-netrexx mailing list
>> [hidden email]
>> Online Archive : http://ibm-netrexx.215625.n3.nabble.com/
>>
>>
>
>

_______________________________________________
Ibm-netrexx mailing list
[hidden email]
Online Archive : http://ibm-netrexx.215625.n3.nabble.com/

Reply | Threaded
Open this post in threaded view
|

Re: The NetRexx Comparison Operators in the IF and the SELECT statement ...

Dave Woodman
In reply to this post by ThSITC
Hi Thomas,

A quick test yields nothing unecpected...

/* test */

str1 = "abc"
str2 = "ABC"

say "IF comparison..."
if str1 = str2 then say str1 "=" str2
else say str1 "<>" str2

say "SELECT comparison..."
select
    when str1 = str2 then say str1 "=" str2
    otherwise say str1 "<>" str2
end

say "SELECT CASE comparison..."
select case str1
    when str2 then say str1 "=" str2
    otherwise say str1 "<>" str2
end

gives the results:-

IF comparison...
abc = ABC
SELECT comparison...
abc = ABC
SELECT CASE comparison...
abc <> ABC


This is just as expected since the documentation for SELECT CASE states that
a strict comparison would be used. This might surprise of moving from IF to
SELECT CASE, but not if moving to IF to SELECT, which I perceive to be the
most common.

        Dave.


-----Original Message-----
From: [hidden email]
[mailto:[hidden email]] On Behalf Of Thomas Schneider
Sent: 29 March 2013 17:48
To: IBM Netrexx
Subject: [Ibm-netrexx] The NetRexx Comparison Operators in the IF and the
SELECT statement ...

May I here note, please (personally) that the usual NetRexx Comparison
*operators* do
behave *differentlyI in a squence of (a) IF ... else IF ... else IF ...
else
*Block of statements* (as I call them), as in a  (b) SELECT *or SELECT CASE
statement!

In an IF statement (of any kind), any and all *comparisons are* CASEBLIND!

Within a SELEC BLOCK (of any kind) the *same condition* is taken to be *case
sensitive*!

I again do have (personally) the opinion, that *the same operator(s)* shall
have a *unique* meaning in any *programing language* (as NetRexx is)!

Did discuss that very lengthy with MFC, Years ago, by the way!

The potential problem with the *current* behaviour of NetRexxC is:

Shall *anybody* decide to *change* a sequence of.

if   <condition1> ...
else if <condition2> ...
else ir >condition3> ...
else ...

into the (hopefully) semantical *equivalent* of:

select
     when  <condition1> ...
when <condition2> ...
when <condition3> ...
otherwise  ...
end

*then, you will see*, that NetRexx is the *only* language I do know, where
*Comparison Operators* do work *differently*, in their proper *context* ...

Hope You all did know that, but: It's a PITY (personal view, only, of
course!)

Sorry when I did disturb this group, again; as so any times ... :-( ;-)
;-) ;-)

Thomas Schneider.

PS: When you don't yet know:

In SELECT statements, comparisons *are NOT* case blind!
*at least* in SELECT CASE statements, that I'm sure ...

In IF statements, They are *CASE BLIND*.

Full Stop, again, for Today!

Thomas.

--
Thomas Schneider, IT Consulting; http://www.thsitc.com; Vienna, Austria,
Europe

_______________________________________________
Ibm-netrexx mailing list
[hidden email]
Online Archive : http://ibm-netrexx.215625.n3.nabble.com/

_______________________________________________
Ibm-netrexx mailing list
[hidden email]
Online Archive : http://ibm-netrexx.215625.n3.nabble.com/

Reply | Threaded
Open this post in threaded view
|

Re: The NetRexx Comparison Operators in the IF and the SELECT statement ...

Dave Woodman
Looks like that ball was already caught :-)

-----Original Message-----
From: [hidden email]
[mailto:[hidden email]] On Behalf Of Dave Woodman
Sent: 29 March 2013 18:36
To: 'IBM Netrexx'
Subject: Re: [Ibm-netrexx] The NetRexx Comparison Operators in the IF and
the SELECT statement ...

Hi Thomas,

A quick test yields nothing unecpected...

/* test */

str1 = "abc"
str2 = "ABC"

say "IF comparison..."
if str1 = str2 then say str1 "=" str2
else say str1 "<>" str2

say "SELECT comparison..."
select
    when str1 = str2 then say str1 "=" str2
    otherwise say str1 "<>" str2
end

say "SELECT CASE comparison..."
select case str1
    when str2 then say str1 "=" str2
    otherwise say str1 "<>" str2
end

gives the results:-

IF comparison...
abc = ABC
SELECT comparison...
abc = ABC
SELECT CASE comparison...
abc <> ABC


This is just as expected since the documentation for SELECT CASE states that
a strict comparison would be used. This might surprise of moving from IF to
SELECT CASE, but not if moving to IF to SELECT, which I perceive to be the
most common.

        Dave.


-----Original Message-----
From: [hidden email]
[mailto:[hidden email]] On Behalf Of Thomas Schneider
Sent: 29 March 2013 17:48
To: IBM Netrexx
Subject: [Ibm-netrexx] The NetRexx Comparison Operators in the IF and the
SELECT statement ...

May I here note, please (personally) that the usual NetRexx Comparison
*operators* do
behave *differentlyI in a squence of (a) IF ... else IF ... else IF ...
else
*Block of statements* (as I call them), as in a  (b) SELECT *or SELECT CASE
statement!

In an IF statement (of any kind), any and all *comparisons are* CASEBLIND!

Within a SELEC BLOCK (of any kind) the *same condition* is taken to be *case
sensitive*!

I again do have (personally) the opinion, that *the same operator(s)* shall
have a *unique* meaning in any *programing language* (as NetRexx is)!

Did discuss that very lengthy with MFC, Years ago, by the way!

The potential problem with the *current* behaviour of NetRexxC is:

Shall *anybody* decide to *change* a sequence of.

if   <condition1> ...
else if <condition2> ...
else ir >condition3> ...
else ...

into the (hopefully) semantical *equivalent* of:

select
     when  <condition1> ...
when <condition2> ...
when <condition3> ...
otherwise  ...
end

*then, you will see*, that NetRexx is the *only* language I do know, where
*Comparison Operators* do work *differently*, in their proper *context* ...

Hope You all did know that, but: It's a PITY (personal view, only, of
course!)

Sorry when I did disturb this group, again; as so any times ... :-( ;-)
;-) ;-)

Thomas Schneider.

PS: When you don't yet know:

In SELECT statements, comparisons *are NOT* case blind!
*at least* in SELECT CASE statements, that I'm sure ...

In IF statements, They are *CASE BLIND*.

Full Stop, again, for Today!

Thomas.

--
Thomas Schneider, IT Consulting; http://www.thsitc.com; Vienna, Austria,
Europe

_______________________________________________
Ibm-netrexx mailing list
[hidden email]
Online Archive : http://ibm-netrexx.215625.n3.nabble.com/

_______________________________________________
Ibm-netrexx mailing list
[hidden email]
Online Archive : http://ibm-netrexx.215625.n3.nabble.com/

_______________________________________________
Ibm-netrexx mailing list
[hidden email]
Online Archive : http://ibm-netrexx.215625.n3.nabble.com/

Reply | Threaded
Open this post in threaded view
|

Re: The NetRexx Comparison Operators in the IF and the SELECT statement ...

ThSITC
In reply to this post by billfen
NO, Bill!
*nothing to add* at this minute!

As far as I can remember (by pure brain, getting *Alzheimer* maybe ...
;-) ;-) ;-)

The whole discussion I did have with MFC, those daysm 2000-2001, has
been around the

SELECT CASE

statement.....

Found that incompatibility, those days, as *I* have been trying to
*restructure* ancient *classic Rexx Code*,
having a lot of ...

if ... else if .. else if ... else ...

To the more convenient (I did think):

select case x
    when ...
    when ...
    when ...
    otherwise ...
end--select

*notation*,  those days ...

*if* and only *if* the left hand side of the *comparison in question*
has been a
*single Variable*, the equal operator (=) has been following, in the
*original Rexx source*,
of course!

*and*

   I did find different bahaviours in the original Rexx Sources
(executed ny Object Rexx1.0,
those times, on my desk, and the NetRexx vs. 1.0 versions I did
generate, with Rexx2Nrx).

Then, as usual, I did contact Mike Cowlishaw, directly, on the Net, and,
looking backwards,
I shall like to note:

He (MFC) has been always the most reliable and most responable and
responsive
*individual* I *ever did meet*, *on the Net, may it be GEISCO's old MARK
III Service,
II did wiork for years, or later the Internet!

Do You know what he always did reply: ???

You ask some very good questions, Thomas ....
...
...and then he did *give me exactly* the answer to any & all questions I
did have!

Thank you Mike Cowlishaw (MFC) again, without *your advise* my
www.Rexx2Nrx.com
would have *never happened*, for sure!

Thomas.


Am 29.03.2013 19:28, schrieb Bill Fenlason:

> Thomas,
>
> I think I see what you are saying.  The "select case" phrase uses the
> strict equality operator ("=="), and if something like "when a = 'abc'
> " is used, the execution will be different.  NetRexx doesn't supply a
> non-strict version of the select case phrase. Yet another thing to add?
>
> Bill
>
> On 3/29/2013 2:10 PM, Thomas Schneider wrote:
>> Hi Bill!
>>
>> For *sure*, I will do, but *a bit later* ...
>> It's now 07:00 o'clock, nearly, here in Vienna, and, frankly
>> speaking; I did work (again) the whole night thru...
>>
>> But as I have alsways been a *night worker*, I shall survive, for
>> sure...
>>
>> I shall *prepare*  some
>>
>> *very simple* testcases, for this, at least until end of next week!
>>
>> I do have still to retest, whether:
>>
>> a= 'XYZ'
>>
>> select
>>    when a='abc' then ...
>>    when a='def' then ...
>>    when a='xyz' then ...
>>    otherwise ...
>> end--select
>>
>> *and*
>>
>> a='XYZ'
>>
>> select case a
>>     when 'abc' then ...
>>     when 'def' then ...
>>     when 'xyz' then
>>     otherwise ...
>> end--select
>>
>> do behave *equally* now, in the recent NetRexx Distrom (then this
>> problem has been corrected),
>> *or* not!
>>
>> Did discuss this very lengthy with MFC, those times (2000-2001), but
>> ....
>> ... NetRexxC did remain, as it is now!
>>
>> I (personally) do find that a bit *critical*!
>>
>> Maybe a:
>>
>> select strict case a
>>
>> shall be needed for the *current behaviour*, just as a *reminder*,
>> for a novice ???
>>
>> Who knows?
>>
>> Will come up with the samples, at least, until end of next week!
>> Hope that is OK, for you, Bill!
>>
>> Take the free days coming, and: Happy Easter!
>> =================================================================================
>>
>> Am 29.03.2013 18:54, schrieb Bill Fenlason:
>>> Thomas,
>>>
>>> I find this very interesting.  Can you give us a sample program
>>> which demonstrates it?
>>>
>>> Thanks.
>>>
>>> Bill
>>>
>>> On 3/29/2013 1:48 PM, Thomas Schneider wrote:
>>>> May I here note, please (personally) that the usual NetRexx
>>>> Comparison *operators* do
>>>> behave *differentlyI in a squence of (a) IF ... else IF ... else IF
>>>> ... else
>>>> *Block of statements* (as I call them), as in a  (b) SELECT *or
>>>> SELECT CASE statement!
>>>>
>>>> In an IF statement (of any kind), any and all *comparisons are*
>>>> CASEBLIND!
>>>>
>>>> Within a SELEC BLOCK (of any kind) the *same condition* is taken to
>>>> be *case sensitive*!
>>>>
>>>> I again do have (personally) the opinion, that *the same
>>>> operator(s)* shall have a *unique*
>>>> meaning in any *programing language* (as NetRexx is)!
>>>>
>>>> Did discuss that very lengthy with MFC, Years ago, by the way!
>>>>
>>>> The potential problem with the *current* behaviour of NetRexxC is:
>>>>
>>>> Shall *anybody* decide to *change* a sequence of.
>>>>
>>>> if   <condition1> ...
>>>> else if <condition2> ...
>>>> else ir >condition3> ...
>>>> else ...
>>>>
>>>> into the (hopefully) semantical *equivalent* of:
>>>>
>>>> select
>>>>     when  <condition1> ...
>>>> when <condition2> ...
>>>> when <condition3> ...
>>>> otherwise  ...
>>>> end
>>>>
>>>> *then, you will see*, that NetRexx is the *only* language I do know,
>>>> where *Comparison Operators* do work *differently*, in their
>>>> proper *context* ...
>>>>
>>>> Hope You all did know that, but: It's a PITY (personal view, only,
>>>> of course!)
>>>>
>>>> Sorry when I did disturb this group, again; as so any times ... :-(
>>>> ;-) ;-) ;-)
>>>>
>>>> Thomas Schneider.
>>>>
>>>> PS: When you don't yet know:
>>>>
>>>> In SELECT statements, comparisons *are NOT* case blind!
>>>> *at least* in SELECT CASE statements, that I'm sure ...
>>>>
>>>> In IF statements, They are *CASE BLIND*.
>>>>
>>>> Full Stop, again, for Today!
>>>>
>>>> Thomas.
>>>>
>>>
>>> _______________________________________________
>>> Ibm-netrexx mailing list
>>> [hidden email]
>>> Online Archive : http://ibm-netrexx.215625.n3.nabble.com/
>>>
>>>
>>
>>
>
> _______________________________________________
> Ibm-netrexx mailing list
> [hidden email]
> Online Archive : http://ibm-netrexx.215625.n3.nabble.com/
>
>


--
Thomas Schneider, IT Consulting; http://www.thsitc.com; Vienna, Austria,
Europe

_______________________________________________
Ibm-netrexx mailing list
[hidden email]
Online Archive : http://ibm-netrexx.215625.n3.nabble.com/

Thomas Schneider, Vienna, Austria (Europe) :-)

www.thsitc.com
www.db-123.com
Reply | Threaded
Open this post in threaded view
|

Re: The NetRexx Comparison Operators in the IF and the SELECT statement ...

ThSITC
In reply to this post by Dave Woodman
The *Ball* is *never CAUGHT* until the *expectations* of a HUMAN BEEING
using a so called *HUMAN ORIENTED Language* are caught!

Dave, shall you *really expect* that an *ordinary HUMAN BEEING* shall *know*
the differecne between *strict case comparison* and *case blind comparison*?

Do we *not all* try to position the *Rexx Family of Languages* to be
*Human Oriented* ??

Or what ?
Thomas.
========================================================================
Am 29.03.2013 19:41, schrieb Dave Woodman:

> Looks like that ball was already caught :-)
>
> -----Original Message-----
> From: [hidden email]
> [mailto:[hidden email]] On Behalf Of Dave Woodman
> Sent: 29 March 2013 18:36
> To: 'IBM Netrexx'
> Subject: Re: [Ibm-netrexx] The NetRexx Comparison Operators in the IF and
> the SELECT statement ...
>
> Hi Thomas,
>
> A quick test yields nothing unecpected...
>
> /* test */
>
> str1 = "abc"
> str2 = "ABC"
>
> say "IF comparison..."
> if str1 = str2 then say str1 "=" str2
> else say str1 "<>" str2
>
> say "SELECT comparison..."
> select
>      when str1 = str2 then say str1 "=" str2
>      otherwise say str1 "<>" str2
> end
>
> say "SELECT CASE comparison..."
> select case str1
>      when str2 then say str1 "=" str2
>      otherwise say str1 "<>" str2
> end
>
> gives the results:-
>
> IF comparison...
> abc = ABC
> SELECT comparison...
> abc = ABC
> SELECT CASE comparison...
> abc <> ABC
>
>
> This is just as expected since the documentation for SELECT CASE states that
> a strict comparison would be used. This might surprise of moving from IF to
> SELECT CASE, but not if moving to IF to SELECT, which I perceive to be the
> most common.
>
>          Dave.
>
>
> -----Original Message-----
> From: [hidden email]
> [mailto:[hidden email]] On Behalf Of Thomas Schneider
> Sent: 29 March 2013 17:48
> To: IBM Netrexx
> Subject: [Ibm-netrexx] The NetRexx Comparison Operators in the IF and the
> SELECT statement ...
>
> May I here note, please (personally) that the usual NetRexx Comparison
> *operators* do
> behave *differentlyI in a squence of (a) IF ... else IF ... else IF ...
> else
> *Block of statements* (as I call them), as in a  (b) SELECT *or SELECT CASE
> statement!
>
> In an IF statement (of any kind), any and all *comparisons are* CASEBLIND!
>
> Within a SELEC BLOCK (of any kind) the *same condition* is taken to be *case
> sensitive*!
>
> I again do have (personally) the opinion, that *the same operator(s)* shall
> have a *unique* meaning in any *programing language* (as NetRexx is)!
>
> Did discuss that very lengthy with MFC, Years ago, by the way!
>
> The potential problem with the *current* behaviour of NetRexxC is:
>
> Shall *anybody* decide to *change* a sequence of.
>
> if   <condition1> ...
> else if <condition2> ...
> else ir >condition3> ...
> else ...
>
> into the (hopefully) semantical *equivalent* of:
>
> select
>       when  <condition1> ...
> when <condition2> ...
> when <condition3> ...
> otherwise  ...
> end
>
> *then, you will see*, that NetRexx is the *only* language I do know, where
> *Comparison Operators* do work *differently*, in their proper *context* ...
>
> Hope You all did know that, but: It's a PITY (personal view, only, of
> course!)
>
> Sorry when I did disturb this group, again; as so any times ... :-( ;-)
> ;-) ;-)
>
> Thomas Schneider.
>
> PS: When you don't yet know:
>
> In SELECT statements, comparisons *are NOT* case blind!
> *at least* in SELECT CASE statements, that I'm sure ...
>
> In IF statements, They are *CASE BLIND*.
>
> Full Stop, again, for Today!
>
> Thomas.
>
> --
> Thomas Schneider, IT Consulting; http://www.thsitc.com; Vienna, Austria,
> Europe
>
> _______________________________________________
> Ibm-netrexx mailing list
> [hidden email]
> Online Archive : http://ibm-netrexx.215625.n3.nabble.com/
>
> _______________________________________________
> Ibm-netrexx mailing list
> [hidden email]
> Online Archive : http://ibm-netrexx.215625.n3.nabble.com/
>
> _______________________________________________
> Ibm-netrexx mailing list
> [hidden email]
> Online Archive : http://ibm-netrexx.215625.n3.nabble.com/
>
>


--
Thomas Schneider, IT Consulting; http://www.thsitc.com; Vienna, Austria,
Europe

_______________________________________________
Ibm-netrexx mailing list
[hidden email]
Online Archive : http://ibm-netrexx.215625.n3.nabble.com/

Thomas Schneider, Vienna, Austria (Europe) :-)

www.thsitc.com
www.db-123.com
Reply | Threaded
Open this post in threaded view
|

Re: The NetRexx Comparison Operators in the IF and the SELECT statement ...

Dave Woodman
I meant that Bill had already answered the question - thus catching the
ball.

        Dave

-----Original Message-----
From: [hidden email]
[mailto:[hidden email]] On Behalf Of Thomas Schneider
Sent: 29 March 2013 19:34
To: IBM Netrexx
Subject: Re: [Ibm-netrexx] The NetRexx Comparison Operators in the IF and
the SELECT statement ...

The *Ball* is *never CAUGHT* until the *expectations* of a HUMAN BEEING
using a so called *HUMAN ORIENTED Language* are caught!

Dave, shall you *really expect* that an *ordinary HUMAN BEEING* shall
*know*
the differecne between *strict case comparison* and *case blind comparison*?

Do we *not all* try to position the *Rexx Family of Languages* to be *Human
Oriented* ??

Or what ?
Thomas.
========================================================================
Am 29.03.2013 19:41, schrieb Dave Woodman:
> Looks like that ball was already caught :-)
>
> -----Original Message-----
> From: [hidden email]
> [mailto:[hidden email]] On Behalf Of Dave Woodman
> Sent: 29 March 2013 18:36
> To: 'IBM Netrexx'
> Subject: Re: [Ibm-netrexx] The NetRexx Comparison Operators in the IF
and

> the SELECT statement ...
>
> Hi Thomas,
>
> A quick test yields nothing unecpected...
>
> /* test */
>
> str1 = "abc"
> str2 = "ABC"
>
> say "IF comparison..."
> if str1 = str2 then say str1 "=" str2
> else say str1 "<>" str2
>
> say "SELECT comparison..."
> select
>      when str1 = str2 then say str1 "=" str2
>      otherwise say str1 "<>" str2
> end
>
> say "SELECT CASE comparison..."
> select case str1
>      when str2 then say str1 "=" str2
>      otherwise say str1 "<>" str2
> end
>
> gives the results:-
>
> IF comparison...
> abc = ABC
> SELECT comparison...
> abc = ABC
> SELECT CASE comparison...
> abc <> ABC
>
>
> This is just as expected since the documentation for SELECT CASE
> states
that
> a strict comparison would be used. This might surprise of moving from
> IF
to
> SELECT CASE, but not if moving to IF to SELECT, which I perceive to be
the
> most common.
>
>          Dave.
>
>
> -----Original Message-----
> From: [hidden email]
> [mailto:[hidden email]] On Behalf Of Thomas
Schneider
> Sent: 29 March 2013 17:48
> To: IBM Netrexx
> Subject: [Ibm-netrexx] The NetRexx Comparison Operators in the IF and
the
> SELECT statement ...
>
> May I here note, please (personally) that the usual NetRexx Comparison
> *operators* do
> behave *differentlyI in a squence of (a) IF ... else IF ... else IF ...
> else
> *Block of statements* (as I call them), as in a  (b) SELECT *or SELECT
CASE
> statement!
>
> In an IF statement (of any kind), any and all *comparisons are*
CASEBLIND!
>
> Within a SELEC BLOCK (of any kind) the *same condition* is taken to be
*case
> sensitive*!
>
> I again do have (personally) the opinion, that *the same operator(s)*
shall

> have a *unique* meaning in any *programing language* (as NetRexx is)!
>
> Did discuss that very lengthy with MFC, Years ago, by the way!
>
> The potential problem with the *current* behaviour of NetRexxC is:
>
> Shall *anybody* decide to *change* a sequence of.
>
> if   <condition1> ...
> else if <condition2> ...
> else ir >condition3> ...
> else ...
>
> into the (hopefully) semantical *equivalent* of:
>
> select
>       when  <condition1> ...
> when <condition2> ...
> when <condition3> ...
> otherwise  ...
> end
>
> *then, you will see*, that NetRexx is the *only* language I do know,
where
> *Comparison Operators* do work *differently*, in their proper
> *context*
...

>
> Hope You all did know that, but: It's a PITY (personal view, only, of
> course!)
>
> Sorry when I did disturb this group, again; as so any times ... :-(
> ;-)
> ;-) ;-)
>
> Thomas Schneider.
>
> PS: When you don't yet know:
>
> In SELECT statements, comparisons *are NOT* case blind!
> *at least* in SELECT CASE statements, that I'm sure ...
>
> In IF statements, They are *CASE BLIND*.
>
> Full Stop, again, for Today!
>
> Thomas.
>
> --
> Thomas Schneider, IT Consulting; http://www.thsitc.com; Vienna,
> Austria, Europe
>
> _______________________________________________
> Ibm-netrexx mailing list
> [hidden email]
> Online Archive : http://ibm-netrexx.215625.n3.nabble.com/
>
> _______________________________________________
> Ibm-netrexx mailing list
> [hidden email]
> Online Archive : http://ibm-netrexx.215625.n3.nabble.com/
>
> _______________________________________________
> Ibm-netrexx mailing list
> [hidden email]
> Online Archive : http://ibm-netrexx.215625.n3.nabble.com/
>
>


--
Thomas Schneider, IT Consulting; http://www.thsitc.com; Vienna, Austria,
Europe

_______________________________________________
Ibm-netrexx mailing list
[hidden email]
Online Archive : http://ibm-netrexx.215625.n3.nabble.com/

_______________________________________________
Ibm-netrexx mailing list
[hidden email]
Online Archive : http://ibm-netrexx.215625.n3.nabble.com/