IF-Forum

» IF-Forum - Autorencafé - Schreiben! - Sonderzeichen in Understand-Definitionen
AntwortenNeues ThemaNeue Umfrage

Sonderzeichen in Understand-Definitionen

Geschrieben um 16:54 am 15.04.2012 | Zitat | Editieren | Löschen
Mario Donick
Mitglied
Bachelor Gumby
Beiträge: 57

Folgendes:


CharWhitemoore is a woman. "Eine alte Frau." Understand "Frau[f]", "Alte[f]", "Oma[f]", "Dame[f]", "Lady[f]", "alte Lady[f]", "alte Dame[f]", "Mrs. Whitemoore[f]", "Frau Whitemoore[f]" and "alte Frau[f]" as CharWhitemoore.

Das "Mrs. Whitemoore" lässt der Compiler nicht zu. Scheinbar dürfen keine Punkte vorkommen. Im Deutschen schreibt man aber das englische "Mrs." mit Punkt, nicht ohne. Kann man solche Sonderzeichen irgendwie umschreiben?

Geschrieben um 17:06 am 15.04.2012 | Zitat | Editieren | Löschen
pintman
Mitglied
Master Gumby
Beiträge: 116

Anscheinend mag es der Parser nicht, wenn Punkte in der Eingabe vorkommen.

Eine Lösung oder einen work-around kenne ich jedoch auch nicht.

Geschrieben um 18:33 am 15.04.2012 | Zitat | Editieren | Löschen
Martin
Avatar
Mitglied
Prof Gumby
Beiträge: 634

Dass Satzzeichen als eigene Wörter behandelt werden, wusste ich ja, aber das I7 sie in der Eingabe von Objekten ganz unterbindet, war mir neu. Auch in Phrasen wie "If the player's command includes..." darf man sie nicht benutzen.

Es gibt aber eine Lösung, die auch in der Kurzdoku zu GerX beschrieben ist. (Wenn man sie nicht kennt, ist sie aber nicht leicht zu finden.)

I7 ermöglicht es, so genannte Synonyme und Zwillinge zu definieren. Synonyme ersetzen ein Wort durch etwas, Zwillinge ersetzen zwei aufeinanderfolgende Wörter mit etwas.

Folgendes geht also, wenn man sich in die Niederungen von I6 traut:



    Array Twins table 'mrs' THEN1__WD "mrs";

-) after "Definitions.i6t".

CharWhitemoore is a woman in the meadow. "Mrs. Whitemoore, die Schwiegermutter des kürzlich verstorbenen Viscount of Holyrood, geht hier spazieren." The printed name is "Mrs. Whitemoore". Understand "Frau", "Oma", "Dame", "Lady", "Alt", "Mrs", "Whitemoore" as CharWhitemoore.```

Man muss allerdings erst einmal darauf kommen, dass man Punkte nicht mit '.' (das ist für I6 kein Wort, sondern ein einzelnes Zeichen) und auch nicht als './/' (was I6 als das Wort, das aus einem Punkt besteht, interpretiert) angibt, sondern als THEN1__WD, dem Rückgabewert von NextWord(), wenn das nächste Wort ein Punkt ist.
AntwortenNeues ThemaNeue Umfrage
Powered by Spam Board SVN © 2007 - 2021
Impressum / Datenschutz