RE: compare() and equal()
- Posted by Kat <gertie at PELL.NET> Apr 09, 2001
- 476 views
On 8 Apr 2001, at 23:56, Derek Parnell wrote: > > Hi Kat, > I just did this ... > > ? compare({1,2,{3,{4}},5}, {2-1,1+1,{3,{4}},6-1}) > ? equal({1,2,{3,{4}},5}, {2-1,1+1,{3,{4}},6-1}) > > ... > and I got displayed ... > > 0 > 1 > > which is exactly what I'd expect. There was no error message or the like. Well, i just changed a bunch of these: if equal(a,b) then to: if (compare(a,b) = 0) then because the nested sequences in the equal() line were crashing the program! The compare() line runs fine now. > > Also, if equal() is true, it returns boolean true, but if > > compare() is true, it returns > > boolean false. > > > > But compare() can *never* be true as it does not return a true/false > indicator. It isn't meant to. It just tells if parameter#1 is less than, > equal to, or greater than parameter#2. And this is not a boolean thing. It returns zero or non-zero, and zero equates to false in a boolean compare. Equal() returns 1 (true) or 0 (false) the same way, but the true-1 in equal() and the true-0 in compare() feels too odd. Kat