我有一个程序,看起来像:
$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
吗?