Sinatra/Ruby范围问题

Sinatra/Ruby范围问题,ruby,scope,sinatra,Ruby,Scope,Sinatra,我想知道,为什么H在全球范围内?您可以看到它在第53行中定义,在第77行中使用,在中的第127行中使用 任何明智的建议都将不胜感激 因为常数以前导大写字母命名,可以在定义它们的类或模块中的任何位置访问,也可以在外部使用前导的:将其视为类变量吗?在该代码中,已为其指定了一个对象,该对象是动态的。为什么要使用常量而不是类变量?@Cenoc我不确定;这可能不是我实现它的方式。我的意思是,你总是把一个对象赋给一个常量,你总是可以改变常量的状态(如果你试图改变引用本身,就会得到警告)。

我想知道,为什么
H
在全球范围内?您可以看到它在第53行中定义,在第77行中使用,在中的第127行中使用


任何明智的建议都将不胜感激

因为常数以前导大写字母命名,可以在定义它们的类或模块中的任何位置访问,也可以在外部使用前导的

将其视为类变量吗?在该代码中,已为其指定了一个对象,该对象是动态的。为什么要使用常量而不是类变量?@Cenoc我不确定;这可能不是我实现它的方式。我的意思是,你总是把一个对象赋给一个常量,你总是可以改变常量的状态(如果你试图改变引用本身,就会得到警告)。