Geschrieben um 10:25 am 09.04.2004 | Zitat | Editieren | Löschen | |
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
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 | |
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
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 | |
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 tippe einfach "qwer" und [Enter], beim 2.mal ist er draußen ;-) |
Geschrieben um 22:08 am 09.04.2004 | Zitat | Editieren | Löschen | |
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 | |
Mitglied Dr Gumby Beiträge: 181 | Zitat:
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 | Kris:
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 | |
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? |