由于在my Java post中使用全局变量的批评浪潮,我想使用一种没有全局变量的语言。每个答案一个建议,谢谢。
发布于 2010-04-09 21:58:09
如果你不想要全局变量,那么就不要使用它们。我不明白为什么找到一种不支持它们的语言会有任何价值。您正在处理一个范围问题。让你的变量尽可能的存在于最低的作用域中,这样你就没问题了。没有一种语言不具有全局作用域。
发布于 2010-04-09 22:02:53
我不确定你的字面意思是没有全局变量(改变的值),还是你也想排除全局常量(不变的值)。Haskell就是这样一种没有全局变量的语言,尽管它有全局常量(本质上是以无参数函数的形式)。在Haskell中,如果你想模拟全局状态,你必须将你的“全局”变量传递给你调用的每个函数。HaskellWiki提供了更好的描述。
发布于 2010-04-09 22:03:00
如果您想避免副作用,可以使用纯函数式编程语言之一,如haskell (或erlang或...),它们只有常量。但是,与命令式编程风格相比,要做好完全不同的编程准备。
https://stackoverflow.com/questions/2607876
复制相似问题