IF-Forum

» IF-Forum - Autorencafé - Schreiben! - Problem mit Extend [verb] first
AntwortenNeues ThemaNeue Umfrage

Problem mit Extend [verb] first

Geschrieben um 10:25 am 09.04.2004 | Zitat | Editieren | Löschen
Kris
Mitglied
Dr Gumby
Beiträge: 181

Ich habe ein Problem mit einer Extend - directive:

Ich habe 'schau' erweitert um auch neben, hinter oder durch etwas sehen zu können.

Hier der Code:

blue

Wenn ich nun

schau

eingebe (oder einfach nur "l") kommt die Meldung

Du wolltest vermutlich folgendes: "schau durch..." - aber was, wie, womit?Deine Antwort:

Alles andere in der GermanG wird erreicht: Schau herum, schau dich um usw.

Nur die Zeile mit

blue

wird wohl "übersprungen" warum?

(Ich meine ich kann sie in Extend mit einbauen, dann läufts wieder, aber ich will wissen warum dass so ist)

Danke für Hilfe

Kris#444444

Geschrieben um 14:43 am 09.04.2004 | Zitat | Editieren | Löschen
Martin
Avatar
Mitglied
Prof Gumby
Beiträge: 634

Zitat:

Du wolltest vermutlich folgendes: "schau durch..." - aber was, wie, womit?

Deine Antwort:

Ja, ein alter Bekannter, nicht gerade eine der besten Fehlermeldungen der deutschen Inform-Lib. Eingefügt von Max Kalus. Ich weiß nie, was man mit diesem Prompt, der immer dann erscheint, wenn man ihn am wenigsten erwartet, machen kann und bin froh, wenn ich wieder zum normalen Prompt zurückkomme.

In deinem Fall habe ich folgendes herausgefunden: Wenn man "schau." angibt, den Satz also explizit mit einem Schlusszeichen abschließt, funktioniert es. Im Debug-Modus mit eingeschaltetem Tracing sehe ich, dass der Parser bei "schau" bereits in der ersten Zeile


   * 'durch'/'aus' noun -> LookThrough

eine Übereinstimmung findet: Er nimmt an, dass Du "schau durchs Fenster" (oder so) sagen wolltest, und dass du eine dermaßen faule Sau bist, dass du ihn das dazu passende Objekt implizieren lassen willst. Er arbeitet also alle Objekte, die sich in Sichtweite befinden inklusive der Himmelsrichtungen durch und da er von den vielen Objekten, die er findet, keinem einen eindeutigen Vorzug, was das Hindurchschauen betrifft, geben kann, fragt er nach.

Der Parser überspringt diese Zeile also nicht, er erreicht sie durch krude Annahmen und dank seiner "first match"-Methode erst überhaupt nicht.

Die erste Beobachtung - ein Satzschlusszeichen hilft - lässt mich annehmen, dass hier nicht vernünftig geschaut wird, ob der Satz zuende ist. Es wird nicht buffer->1 betrachtet, sondern einfach munter weitergelesen, obwohl die Daten, die dort stehen nichts mehr mit der letzten Eingabe zu tun haben. Nur so eine Vermutung.

Die zweite Sache lehrt uns, kürzere Satzmuster immer als erste zu definieren, auch dann, wenn man bestehende Verben mit "Extend first" erweiterst. Vielleicht bist du in deinem Fall sogar besser beraten, die "schau"-Verben mit "Extend replace" neu zu definieren, um den ungewollten Prompt nicht erscheinen zu lassen, wenn der Parser meint, du wolltest etwas nachschlagen.

Vielleicht könnte sich ja mal ein Kompetenzteam unter der Leitung von Max der Sache annehmen?

Geschrieben um 19:37 am 09.04.2004 | Zitat | Editieren | Löschen
Kris
Mitglied
Dr Gumby
Beiträge: 181

Danke für die prompte Antwort.

An Replace habe ich auch schon gedacht, aber sollte es eine Änderung der deutschen Library geben könnte später evtl. etwas fehlen.

Also werde ich die bluemit

blue

beginnen, doppelt gemoppelt hält besser :-)))

Also,

vielen Dank nochmal

Kris

PS:

Zitat:

Ich weiß nie, was man mit diesem Prompt, der immer dann erscheint, wenn man ihn am wenigsten erwartet, machen kann und bin froh, wenn ich wieder zum normalen Prompt zurückkomme.

Ich tippe einfach "qwer" und [Enter], beim 2.mal ist er draußen ;-)

Geschrieben um 22:08 am 09.04.2004 | Zitat | Editieren | Löschen
ChrisW
Mitglied
Dr Gumby
Beiträge: 275

Noch eine Vermutung: Irre ich mich oder tritt das Problem nur bei Ein-Wort-Eingaben auf? Die stellt die Library bei den Definitionen nämlich auch ganz an den Anfang, während bei den restlichen Fällen die Satzlänge egal zu sein scheint. Ich dachte immer, das diene rein der Übersichtlichkeit...

Max' Kompetenzteam wird vermutlich noch mit dem Statuszeilen-Bug beschäftigt sein, den Christoph und du neulich gefunden haben. Dass er davon weiß, weiß ich, aber gemeldet hat er sich noch nicht.

Geschrieben um 07:35 am 10.04.2004 | Zitat | Editieren | Löschen
Kris
Mitglied
Dr Gumby
Beiträge: 181

Zitat:

Noch eine Vermutung: Irre ich mich oder tritt das Problem nur bei Ein-Wort-Eingaben auf? Die stellt die Library bei den Definitionen nämlich auch ganz an den Anfang, während bei den restlichen Fällen die Satzlänge egal zu sein scheint. Ich dachte immer, das diene rein der Übersichtlichkeit...

Also bei meiner Erweiterung von wave (es soll auch "winke emil" oder "winke frau" möglich sein), passiert das selbe:

Wenn ich nur winke eingebe geht's wieder los mit "...aber mit was..."

Hat also wohl damit zu tun.

Man sollte wohl besser bei jedem Extend die Einworteingabe übernehmen.

Grüße

Kris

Geschrieben um 16:20 am 10.04.2004 | Zitat | Editieren | Löschen
Gast
Gast

Kris:

Man sollte wohl besser bei jedem Extend die Einworteingabe übernehmen.

Genau, Satzmuster, bei denen das Verb ohne weitere Objekte verwendet wird, müssen direkt als erstes stehen und das muss auch nach einer Erweiterung mit "first" so sein.

Um Max einmal zu entlasten: Das ist übrigens auch in der englischen Lib so, genau wie oben beschrieben: Mit Punkt geht's, ansonsten wird versucht, ein Objekt zu implizieren. Und das DM4 schweigt darüber, ich habe zumindest nichts gefunden.

Geschrieben um 16:48 am 10.04.2004 | Zitat | Editieren | Löschen
Martin
Avatar
Mitglied
Prof Gumby
Beiträge: 634

Obiger Beitrag war von mir, nur damit die Highscore-Liste der Poster nicht durcheinadergerät :-)

Was, um alles in der Welt, hat mich dazu bewogen mit dem Internet-Explorer ins Forum zu gehen?

AntwortenNeues ThemaNeue Umfrage
Powered by Spam Board SVN © 2007 - 2021
Impressum / Datenschutz