Autor |
Nachricht |
< Sonderzeichen in Understand-Definitionen |
|
Verfasst am:
So, 15 Apr 2012 - 15:54
|
|
|
Wasserträger
Anmeldungsdatum: 14.02.2009
Beiträge: 49
Wohnort: Rostock
|
|
Folgendes:
Code: |
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? |
|
|
|
|
|
Verfasst am:
So, 15 Apr 2012 - 16:06
|
|
|
Wasserträger
Anmeldungsdatum: 12.04.2012
Beiträge: 116
Wohnort: Dortmund
|
|
Anscheinend mag es der Parser nicht, wenn Punkte in der Eingabe vorkommen.
Eine Lösung oder einen work-around kenne ich jedoch auch nicht. |
|
|
|
|
|
Verfasst am:
So, 15 Apr 2012 - 17:33
|
|
|
Experte
Anmeldungsdatum: 25.08.2002
Beiträge: 677
Wohnort: München
|
|
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:
Code: | Include (-
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. _________________ Every silver lining has a cloud. |
|
|
|
|
|
|
Alle Zeiten sind GMT + 1 Stunde (MEZ) |
|
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.
|
|