1. True/False statements with OBJECT variables

If I do something like

object a,b
a="abcdefghijklmnopqrstuvwxyz"
b=gets(0)
If b=a then*
puts(1,"YAY! CORRECT!")
else
puts(1,"BAD!")
end if

*I get a message at this part of the program and it says  (If b != a):
sequences arent equal in length (6 (6 chars) != 26 (26 chars))

The same thing happens when I do something like:

object a,b
a=""
while a="" do --when 'a' changes.
a=gets(0)
b=gets(0)
end while

How do I fix that???? PLEASE HELP ME.
Trivia Program Makers Are Very Ineffective If You Can't Compare String
Variables.

Thanks,
St Qu Man

new topic     » topic index » view message » categorize

2. Re: True/False statements with OBJECT variables

ST Qu Man wrote:
>
> If I do something like
>
> object a,b
> a="abcdefghijklmnopqrstuvwxyz"
> b=gets(0)
> If b=a then*
> puts(1,"YAY! CORRECT!")
> else
> puts(1,"BAD!")
> end if
>
> *I get a message at this part of the program and it says  (If b != a):
> sequences arent equal in length (6 (6 chars) != 26 (26 chars))
  .
  .
  .
> How do I fix that???? PLEASE HELP ME.
> Trivia Program Makers Are Very Ineffective If You Can't Compare String
> Variables.
>
> Thanks,
> St Qu Man

use this instead:
if not compare(a,b) then
    puts(1,"YAY! CORRECT!")
else
    puts(1,"BAD!")
end if

compare() returns zero for objects that "are" equal to one another,
hence the need for the "not" in the comparison.

Hope this helps,
Christopher D. Hickman

new topic     » goto parent     » topic index » view message » categorize

3. Re: True/False statements with OBJECT variables

At 04:20 PM 4/24/98 -0500, you wrote:

>if not compare(a,b) then
>    puts(1,"YAY! CORRECT!")
>else
>    puts(1,"BAD!")
>end if
>
>compare() returns zero for objects that "are" equal to one another,
>hence the need for the "not" in the comparison.

Until you get used to this "backward" stuff, you may find
it clearer to write:

  if compare(a,b) = 0 then -- think 'zero difference'
    puts(1,"Same!")
  else....

Irv
Spam Haiku:-------------------
Silent, former pig
One communal awareness
Myriad pink bricks
-------------------------------------

new topic     » goto parent     » topic index » view message » categorize

4. Re: True/False statements with OBJECT variables

>use this instead:
>if not compare(a,b) then
>    puts(1,"YAY! CORRECT!")
>else
>    puts(1,"BAD!")
>end if
>
>compare() returns zero for objects that "are" equal to one another,
>hence the need for the "not" in the comparison.


Also a "trim" function is useful, specially if your are using a gets(0).
Example:

function RightTrim(sequence s)
    if length(s) = 0 then
        return s
    end if
    if s[length(s)] <= 32 then
        if length(s) > 1 then
            return RightTrim(s[1..length(s)-1])
        else
            return ""
        end if
    else
        return s
    end if
end function

function LeftTrim(sequence s)
    if length(s) = 0 then
        return s
    end if
    if s[1] <= 32 then
        if length(s) > 1 then
            return LeftTrim(s[2..length(s)])
        else
            return ""
        end if
    else
        return s
    end if
end function

function AllTrim(sequence s)
    return LeftTrim(RightTrim(s))
end function

if not compare(AllTrim(a),AllTrim(b)) then
    puts(1,"YAY! CORRECT!")
else
    puts(1,"BAD!")
end if


Regards,
    Daniel Berstein.

new topic     » goto parent     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu