if-de :: Forum Foren-Übersicht
Autor Nachricht
<  Parsen von Nummern im Name
Kris
BeitragVerfasst am: So, 23 Mai 2004 - 10:56  Antworten mit Zitat
Kompassleser
Kompassleser


Anmeldungsdatum: 21.02.2004
Beiträge: 198
Wohnort: Rheinmain

Hi,

ich knobel gerade an einem Problem mit Nummern.
Ich habe drei Schalter (in einem Raum), die nicht nur mit "schalter eins" oder "erster schalter" erkannt werden sollen, sondern auch über "schalter 1", "schalter 2" usw.

Nach einigen Fehlversuchen habe ich es mit parse_name versucht:

Code:
parsename [
...
if (nextword() == '1' return 2);
...


Leider wird bei

>x schalter 1

das Objekt immer noch nicht erkannt.

Hat jemad eine Idee oder gar Lösung?

Grüße

Kris
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Frottee
BeitragVerfasst am: So, 23 Mai 2004 - 16:25  Antworten mit Zitat
Wasserträger
Wasserträger


Anmeldungsdatum: 07.06.2003
Beiträge: 35

Hallo Kris,

ein ähnliches Problem hatte ich auch mal (siehe auch folgender Thread weiter unten: http://www.ifzentrale.de/forum/viewtopic.php?t=455).

Willst du ein einzelnes Zeichen in das Wörterbuch aufnehmen, dann mußt du zwei 'Slashs' hintenanstellen, soweit ich weiß. Also statt '1' immer '1//' angeben.

Marc

PS: Wenn ich da was falsch verstanden habe, dann korrigiert mich bitte.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Frottee
BeitragVerfasst am: So, 23 Mai 2004 - 16:28  Antworten mit Zitat
Wasserträger
Wasserträger


Anmeldungsdatum: 07.06.2003
Beiträge: 35

Hmmm, zugegeben, mir ging es in dem o.a. Thread um etwas anderes, aber du kannst in Martins Codebeispiel erkennen, wie es funktioniert.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Kris
BeitragVerfasst am: So, 23 Mai 2004 - 16:45  Antworten mit Zitat
Kompassleser
Kompassleser


Anmeldungsdatum: 21.02.2004
Beiträge: 198
Wohnort: Rheinmain

Tausend Dank!

Unglaublich... und so einfach!

Ich habe nochmal im DM4 gesucht, darüber steht aber nichts drin.

Martin scheint wohl einer der wenigen "Inform-Rookies" (wie er sich selbst nennt) zu sein, die auf fast alle Fragen eine Antwort haben.

@Martin: Woher wusstest Du das mit den Slashes???


Kris
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Kris
BeitragVerfasst am: So, 23 Mai 2004 - 18:14  Antworten mit Zitat
Kompassleser
Kompassleser


Anmeldungsdatum: 21.02.2004
Beiträge: 198
Wohnort: Rheinmain

Zitat:
Ich habe nochmal im DM4 gesucht, darüber steht aber nichts drin.


Stimmt nicht!

Ich habe es gerade auf Seite 10 gefunden. Bei den Grundlagen der Grundlagen sozusagen.

Es hat nichts mit der Zahl sondern mit der Länge (oder besser gesagt Kürze) des "Wortes" zu tun. Alle Wörter die nur aus einem Buchstaben bestehen, müssen mit "//" (z.B. 'h//') angegeben werden.

Grüße

Kris
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Martin
BeitragVerfasst am: So, 23 Mai 2004 - 21:22  Antworten mit Zitat
Experte
Experte


Anmeldungsdatum: 25.08.2002
Beiträge: 677
Wohnort: München

Kris hat folgendes geschrieben:
Woher wusstest Du das mit den Slashes???

Know thine enemy... :-)

Naja, diese Notation taucht öfters im DM4 auf, z.B. ab Seite 261, wo es um die Übersetzung der Lib (und ihrer Ein-Zeichen-Abkürzungen) geht, oder in der Lösung zu Aufgabe 67, wo die einzelnen Scrabble-Steine Namen mit nur einem Buchstaben haben.

Letzten Endes ist diese Notation nur eine Krücke, da die ZSCII-Werte von Zeichen und Vokabeln die Syntax "Zeichen in Hochkommas" verwenden.

Graham selbst hat folgendes geschrieben:
If I were free to redesign the Inform grammar in the light of the last three years' experience (which I am loath to do, since so much Inform source code now exists), here are the changes I think I would make:


  • introduce commas as separators between array values and <<Action ...>> parameters;
  • remove the statements quit, restore, save, style, font, spaces, box, inversion and read: the first three ought to be used via the assembler anyway, and the last six ought to be system-provided functions;
  • use single quotes to refer to dictionary words used as values of "name", thus removing an anomalous rule going back to Inform 1, and to refer to dictionary words in grammar;
  • find some notation for literal characters which does not look like the notation for dictionary words: e.g., ''z'' rather than 'z';
  • abolish the distinction between actions and fake actions;
  • rename the Global directive "Variable";
  • require an = sign to be used in "Constant X 24" directives.



(Inform Technical Manual, Kapitel 5.4, eher zähe Lektüre. Das vorgeschlagene Format sind je zwei Hochkommas vor und nach dem Zeichen, keine Gänsefüßchen.)
_________________
Every silver lining has a cloud.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Alle Zeiten sind GMT + 1 Stunde (MEZ)

Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Seite 1 von 1
if-de :: Forum Foren-Übersicht  >  Inform & Glulx

Neues Thema eröffnen   Neue Antwort erstellen


 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.



Kontakt: Administrator

Powered by phpBB and NoseBleed v1.05