Вы можете использовать ловкий трюк: объявить изменяемый глобальную переменную, и сделать ref
(он же изменчивый ссылка) указывают на это (GC не требуется для выполнения этой работы!). Затем реализуйте функции для обеспечения доступа к изменяемой ссылке.
local
var theGlobalCount_var : int = 0
val theGlobalCount = ref_make_viewptr ([email protected] theGlobalCount_var | [email protected] theGlobalCount_var)
in // in of [local]
fun
theGlobalCount_get() : int = ref_get_elt (theGlobalCount)
fun
theGlobalCount_set (n: int): void = ref_set_elt (theGlobalCount, n)
end // end of [local]
Обратите внимание, что заявления внутри local
- in
видны только код внутри in
- end
. Поэтому ни theGlobalCount_var
, ни theGlobalCount
не видны за пределами local
.
Полный код: glot.io