Code inclusion rework #58
Label
Kein Label
aerscript
bug
duplicate
enhancement
help wanted
idea
question
won't fix
Kein Meilenstein
Niemand zuständig
1 Beteiligte
Nachrichten
Fällig am
Kein Fälligkeitsdatum gesetzt.
Abhängigkeiten
Keine Abhängigkeiten gesetzt.
Referenz: aerscript/Aer#58
Laden…
In neuem Issue referenzieren
Keine Beschreibung angegeben.
Branch "%!s(<nil>)" löschen
Das Löschen eines Branches ist permanent. Obwohl der Branch für eine kurze Zeit weiter existieren könnte, kann diese Aktion in den meisten Fällen NICHT rückgängig gemacht werden. Fortfahren?
Actually, we got 2 builtin function: include() and require(). Both of them are available only inside methods body. The proposition is to:
Thus 'include()' would be still a builtin function, while 'require' would become a language construct. Having that, 'include()' should allow to include code several times (i.e. in loop), while require should work as 'require_once'.
Additionally, 'import()' allows to load a shared AerScript module. Actually it is implemented as a built-in function returning TRUE on success, or FALSE otherwise. This gives the control to the software developer on potential fallback or throwing an exception it module is not available, when called from constructor for example. If we decide to rewrite it as language construct it would need to throw exception without ability to catch it from global scope.
Decision? I vote for having 'include()' and 'import()' builtin methods and 'require' language construct.