是否可以在Opa中创建全局变量?

Jon*_*rop 5 opa

在MLState的新编程语言Opa中,是否可以创建全局变量?

ako*_*ski 5

Opa是一种函数式语言,因此语言中没有全局变量.但是,人们可以实现类似的行为Mutable.在顶层,声明值为:

global_var = Mutable.make(initial_value)
Run Code Online (Sandbox Code Playgroud)

其中initial_value是变量(某种类型t)的初始值.然后可以使用以下命令检索值:

global_var.get()
Run Code Online (Sandbox Code Playgroud)

并设置为:

global_var.set(new_value)
Run Code Online (Sandbox Code Playgroud)

Opa API概述中的更多信息.

但请注意,这种机制只应在特殊情况下使用; 在Opa中封装状态的主要设备是其分布式会话(有关该主题的更多信息,请参阅Opa手册).