在Ruby中隐藏变量

mah*_*off 0 ruby

将变量隐藏在Ruby文件中的最佳做法是什么,比如JavaScript中的(function(){})()闭包等效?

所以,如果我有一个文件:

foo = 5
bar = foo * foo
Run Code Online (Sandbox Code Playgroud)

当有人需要时,我只想暴露吧,而不是foo.

sep*_*p2k 6

如果您有一个包含这两行的文件而某人需要该文件,则这两个变量都不会公开.局部变量仍然是文件的本地变量,即使它们出现在全局范围内.

如果要暴露bar,则需要将其转换为全局变量,$bar或者,如果您不打算将变量更改为常量变量Bar.通过不做同样的事情foo它将自动不被暴露.

您也可以考虑将整个内容包装在模块或类中.