Autor |
Nachricht |
< I6: Default-Konstanten und spätere Wertzuweisungen |
|
Verfasst am:
Sa, 19 Jun 2010 - 12:49
|
|
|
Experte

Anmeldungsdatum: 05.05.2004
Beiträge: 633
Wohnort: Hamburg
|
|
Hallo,
weiß jemand, warum dieser Code nicht compiliert?
Code: | Default Story "Willkommen";
Default Headline "Ein Textadventure";
Constant Story SC_2;
Constant Headline SC_3; |
Inform 6.31N hat folgendes geschrieben: | Inform 6.31N for Win32 (22nd April 2010)
auto.inf(34): Error: Expected new constant name but found Story
> Constant Story
auto.inf(34): Error: Expected ';' but found Constant
> Constant
auto.inf(35): Error: Expected new constant name but found Headline
> Constant Headline
auto.inf(35): Error: Expected ';' but found Constant
> Constant |
Was läuft da schief? |
|
|
|
 |
|
Verfasst am:
Sa, 19 Jun 2010 - 15:29
|
|
|
Experte

Anmeldungsdatum: 25.08.2002
Beiträge: 677
Wohnort: München
|
|
Nicht getestet, aber der Code ist verkehrt herum. Default heißt "definiere diese Konstante, wenn es sie nicht bereits gibt" und ist daher äquivalent zu:
Code: |
Ifndef Story;
Constant Story = SC_2;
Endif;
|
Die Defaults müssen am Ende kommen. In der Inform-Lib werden die meisten Defaults in der zuletzt eingebundenen Datei "Grammar.h" bzw. "GermanG.h" deklariert.
Da Default die Konstante deklariert, ist es ein Fehler, sie nachher mit Constant noch einmal zu deklarieren. _________________ Every silver lining has a cloud. |
|
|
|
 |
|
Verfasst am:
Sa, 19 Jun 2010 - 16:54
|
|
|
Experte

Anmeldungsdatum: 05.05.2004
Beiträge: 633
Wohnort: Hamburg
|
|
Ah, danke Martin, dann hab ich es genau verkehrt herum verstanden. Ich wollte für die I7-Übersetzung das Generieren der Default-Titel/Headline einfacher machen, indem das Einbinden des entsprechenden NI-Compiler-Plugins ...
Code: | {-call:Plugins::Bibliographic::compile_constants} |
... streiche/versetze, aber so wie es aussieht, ist die damals von Dir vorgeschlagene Lösung immer noch die erste Wahl.
Vielen Dank und viele Grüße,
Christian |
|
|
|
 |
|