我有一个看起来像这样的程序:
$offset = Point.new(100, 200);
def draw(point)
pointNew = $offset + point;
drawAbsolute(point)
end
draw(Point.new(3, 4));
的使用$offset
似乎有点奇怪。
在 C 中,如果我在任何函数之外定义一些东西,它就会自动成为一个全局变量。为什么在 Ruby 中它必须是$offset
但不能是offset
并且仍然是全局的?如果是offset
,那么它是本地的吗?但是本地到哪里,因为它感觉非常全球化。
有没有更好的方法来编写上面的代码?起初使用$offset
可能看起来有点难看。
更新:我可以将此偏移量放在class
定义中,但是如果两个或多个类需要使用此常量怎么办?在这种情况下,我还需要定义一个$offset
吗?