将变量隐藏在Ruby文件中的最佳做法是什么,比如JavaScript中的(function(){})()闭包等效?
所以,如果我有一个文件:
foo = 5
bar = foo * foo
Run Code Online (Sandbox Code Playgroud)
当有人需要时,我只想暴露吧,而不是foo.
如果您有一个包含这两行的文件而某人需要该文件,则这两个变量都不会公开.局部变量仍然是文件的本地变量,即使它们出现在全局范围内.
如果要暴露bar,则需要将其转换为全局变量,$bar或者,如果您不打算将变量更改为常量变量Bar.通过不做同样的事情foo它将自动不被暴露.
您也可以考虑将整个内容包装在模块或类中.