IF-Forum

» IF-Forum - Autorencafé - Schreiben! - I6: Default-Konstanten und spätere Wertzuweisungen
AntwortenNeues ThemaNeue Umfrage

I6: Default-Konstanten und spätere Wertzuweisungen

Geschrieben um 13:49 am 19.06.2010 | Zitat | Editieren | Löschen
ChristianB
Avatar
Mitglied
Prof Gumby
Beiträge: 569

Hallo,

weiß jemand, warum dieser Code nicht compiliert?

“`Default Story “Willkommen”;

Default Headline “Ein Textadventure”;

Constant Story SC_2;

Constant Headline SC_3;“`

Inform 6.31N:

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?

Geschrieben um 16:29 am 19.06.2010 | Zitat | Editieren | Löschen
Martin
Avatar
Mitglied
Retired Gumby
Beiträge: 707

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:

“`

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.

Geschrieben um 17:54 am 19.06.2010 | Zitat | Editieren | Löschen
ChristianB
Avatar
Mitglied
Prof Gumby
Beiträge: 569

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 …

{-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

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