2

既存のキーワードと同じ名前の識別子がある場合、それをエスケープするにはどうすればよいですか?

4

2 に答える 2

1

それが私が見つけたものです(そしてこれがおそらく最終的な答えです):

  1. @識別子名のプレフィックスとして使用できます。ただし、デフォルトでは、別の識別子(@a != a)が作成されます。
  2. @が許可されているため、すべての識別子で実行される新しいコンパイラステップをパイプラインに追加できますTrimStart('@')。それは大丈夫です、あなたはただ名前を持っているすべてのタイプのものを覚えている必要があるでしょう。
  3. Rhino.DSLを使用している場合は、@ aを「a」に変換するUseSymbolsステップがあり、多くの混乱を招きました(デフォルトでこのステップを含むプロジェクトで作業していました)。
于 2009-12-21T15:52:06.017 に答える
0

C#@プレフィックスのようなものがBooに実装されているとは思いませんが、コンパイラパイプラインの先頭にカスタムコンパイラステップを挿入することで実現できると確信しています。

于 2009-12-21T02:15:59.790 に答える