Help if else


#1

if ((( chaine[i+14] == “twincards>false</twincards”)||(chaine[i+14]
== “twincards>true</twincards”))|| ( chaine[ i+14]== “twincards
xsi:nil=“1”/”))

???

: syntax error, expecting end-of-file

???


#2

On 7/26/07, Tonyrrr T. removed_email_address@domain.invalid wrote:

if ((( chaine[i+14] == “twincards>false</twincards”)||(chaine[i+14]
== “twincards>true</twincards”))|| ( chaine[ i+14]== "twincards

  • xsi:nil=“1”/"))
  • xsi:nil=“1”/"))

you have to escape quotes with \


#3

Hi,

Am Freitag, 27. Jul 2007, 00:21:31 +0900 schrieb Ben B.:

test = chaine[ i + 14 ]
if test == ‘twincards>false</twincards’ or
test == ‘twincards>true</twincards’ or
test == ‘twincards xsi:nil=“1”/’

It’s not only legibility, it’s enough to calculate c[i+14]
once as the result is every time the same.

Another suggestion:

case chaine[ i+14]
when %r{twincards>(true|false)</twincards},
%q{twincards xsi:nil=“1”/} then

end

Bertram


#4

On Thu, Jul 26, 2007, Tonyrrr T. wrote:

if ((( chaine[i+14] == “twincards>false</twincards”)||(chaine[i+14]
== “twincards>true</twincards”))|| ( chaine[ i+14]== “twincards
xsi:nil=“1”/”))

You’re closing one too many sets of parents after the “true”
conditional. Also, in the third conditional, you need to either escape
the inner quotes or use single quotes:

“twincards xsi:nil=“1”/”
‘twincards xsi:nil=“1”/’

You might want to rewrite it for better legibility, too. A suggestion:

test = chaine[ i + 14 ]
if test == ‘twincards>false</twincards’ or
test == ‘twincards>true</twincards’ or
test == ‘twincards xsi:nil=“1”/’

 # do whatever

end

Ben


#5

On Fri, Jul 27, 2007, Bertram S. wrote:

It’s not only legibility, it’s enough to calculate c[i+14]
once as the result is every time the same.

Right! I forgot to mention that :slight_smile:

Another suggestion:

case chaine[ i+14]
when %r{twincards>(true|false)</twincards},
%q{twincards xsi:nil=“1”/} then

end

My gut tells me this might be slower, but probably not enough to matter.
And I always forget about %q, that’s really the best way to quote
something that has quotes inside it.

Ben