相关疑难解决方法(0)

你如何在Ruby中使用全局变量或常量值?

我有一个看起来像这样的程序:

$offset = Point.new(100, 200);

def draw(point)
  pointNew = $offset + point;
  drawAbsolute(point)
end

draw(Point.new(3, 4));
Run Code Online (Sandbox Code Playgroud)

使用$offset看起来有点怪异.

在C中,如果我在任何函数之外定义某些东西,它会自动成为一个全局变量.为什么在Ruby中它必须$offset但不可能offset并且仍然是全局的?如果是offset,那么它是本地的吗?但是本地到哪里,因为它感觉非常全球化.

是否有更好的方法来编写上面的代码?$offset起初使用可能看起来有点难看.


更新:我可以将此偏移量放在class定义中,但如果两个或多个类需要使用此常量呢?在这种情况下,我还需要定义一个$offset吗?

ruby global-variables

67
推荐指数
3
解决办法
12万
查看次数

标签 统计

global-variables ×1

ruby ×1