Frage

Wenn ich eine Kennung mit einem gleichen Namen haben wie bestehende Schlüsselwort, wie kann ich es entkommen?

War es hilfreich?

Lösung

Das ist, was ich gefunden (und dies ist wahrscheinlich die endgültige Antwort):

  1. Es ist möglich, @ als Präfix in Bezeichnernamen zu verwenden. Jedoch standardmäßig erstellt es eine andere Kennung (@a != a).
  2. Da @ erlaubt ist, ist es möglich, einen neuen Compiler Schritt in die Pipeline hinzuzufügen, die TrimStart('@') auf alle Kennungen tun. Es funktioniert ok, Sie werden nur alle Arten von Dingen erinnern müssen, die Namen haben.
  3. Wenn Sie Rhino.DSL verwenden, hat es einen UseSymbols Schritt, dass Konvertiten @a in ‚a‘, die mir viel verwirrt hatte (ich war mit Projekt arbeiten, das diesen Schritt standardmäßig enthalten).

Andere Tipps

Ich glaube nicht, so etwas wie die C # @ Präfix wird in Boo implementiert ... aber ich bin ziemlich sicher, könnte es durch Einfügen eines benutzerdefinierten Compiler Schritt zu Beginn der Compiler-Pipeline erreicht werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top