BrettspielWelt

Technische Fragen => Puppet-Stuff => Thema gestartet von: InvisibleMan am 27.04.2006, 22:31:44



Titel: String Index out of Range - geklärt
Beitrag von: InvisibleMan am 27.04.2006, 22:31:44
Hat sich geklärt - thx@SLC

Ich kann mein Puppet nicht starten:
Ich erhalte folgende Fehlermeldung:

-- Lade CommandPuppet Puppet1.
-- String index out of range: -1 in Zeile 1462.
-- Unbekannter Befehl: BEGIN in Zeile 1463:
-- "BEGIN" *
-- String index out of range: -1 in Zeile 1464.

Das mit dem BEGIN ist mir schon klar, aber dieses "String Index out of Range" hatte ich schon öfters und weiss wirklich nicht, was ich damit machen soll.
Hier der zugehörige Code:

1462 IF ([item] INLIST [liste1])
1463    BEGIN
1464    IF ([item] INLIST "item1 item2 item3 item4")

Davor hatte ich:

SET liste1 "item1 item2 item3 item4 item5 item6 item7"


Kann mir bitte wer helfen???




Hat sich geklärt - thx@SLC


Titel: Re: String Index out of Range - geklärt
Beitrag von: Stechmuck am 27.04.2006, 23:55:08
Hat sich geklärt - thx@HirchiGOGOGO
Ahoi,

lässt du uns vielleicht noch an deiner Erkenntnis teilhaben?

Wenn morgen einer das gleiche Problem hat, dann liest er deinen Beitrag, freut sich über Antworten und steht danach genauso dumm ähhh... schlau da wie zuvor.

Grüßle Stechi

Ps: Ist nicht böse gemeint, aber in einem "Technik"-Forum gehört eine Lösung imho unter jede Frage, sofern sie denn existiert ;)


Titel: Re: String Index out of Range - geklärt
Beitrag von: InvisibleMan am 28.04.2006, 08:50:17
1462 IF ([item] INLIST [liste1])
1463    BEGIN
1464    IF ([item] INLIST "item1 item2 item3 item4")

-->

1462 IF [item] INLIST [liste1]
1463    BEGIN
1464    IF [item] INLIST "item1 item2 item3 item4"

Seltsamerweise müssen die Klammern weg, dann geht es problemlos...

MfG

InvisibleMan


Titel: Re: String Index out of Range - geklärt
Beitrag von: uvo
(Ω2.12.19 23:51)
am 28.04.2006, 10:28:43
Ich weiß jetzt nicht, ob das die Ursache für dein Problem war, aber ganz allgemein kann ich dir empfehlen, großzügig mit Leerzeichen umzugehen:

IF ( [item] INLIST "item1 item2 item3 item4" )

müßte eigentlich funktionieren.
(Genauer gesagt, vergleichbare Konstrukte in meinen Puppets funktionieren.)

Grüße,
uvo


Titel: Re: String Index out of Range - geklärt
Beitrag von: SLC am 28.04.2006, 12:29:28
Moin!

Ich oute mich mal als "HirchiGOGOGO" ;D

1464    IF ([item] INLIST "item1 item2 item3 item4")
Das Problem ist hier, daß speziell bei Strings auf das zweite "
ein Leerzeichen folgen muß, da sonst der Parser verrückt spielt.
Bei ") am Ende eines Wortes geht er davon aus, daß der String
nicht beendet ist. Ich hatte geraten, die unnötigen Klammern
ganz wegzulassen, aber uvos Tipp wirkt genauso gut:
Einfach immer schön Leerzeichen verteilen (früher war das sogar
"Pflicht", ich habe vor einiger Zeit eingebaut, daß man nicht
überall die Leerzeichen braucht)... ;D

Grüße, SLC