今日、これに遭遇しました。何か問題があるのではないかと思っていました。
module example
public rel[str file, AstNode namespace] relFileNamespace;
public void InitGlobals()
{
relFileNamespace = {};
}
次に、コンソールで:
rascal>import example;
ok
rascal>InitGlobals();
ok
rascal>relFileNamespace
|stdin:///|(0,13,<1,0>,<1,13>): Undeclared variable, function or constructor: relFileNamespace
このように宣言すると、機能します。
public rel[str file, AstNode namespace] relFileNamespace = {};
問題は、なぜ宣言で初期化する必要があるのですか?