【问题标题】:Sinatra/Ruby Scope IssueSinatra/Ruby 范围问题
【发布时间】:2014-11-20 17:19:57
【问题描述】:

我想知道,为什么Hhttps://github.com/antirez/lamernews/blob/master/app.rb 的全局范围内?你可以看到它在第 53 行定义,在第 77 行使用,在 https://github.com/antirez/lamernews/blob/master/page.rb 的第 127 行输出。

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

【问题讨论】:

    标签: ruby scope sinatra


    【解决方案1】:

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

    【讨论】:

    • 它是否被视为类变量?在此代码中,已为其分配了一个对象,该对象是动态的。为什么要使用常量而不是类变量?
    • @Cenoc 我不确定;这可能不是我实施它的方式。我的意思是,您总是将一个对象分配给一个常量,并且您始终可以改变一个常量的状态(如果您尝试改变引用本身,则会收到警告)。
    猜你喜欢
    • 2011-10-20
    • 1970-01-01
    • 2018-04-08
    • 1970-01-01
    • 1970-01-01
    • 2017-02-13
    • 2011-08-17
    • 2015-11-05
    • 1970-01-01
    相关资源
    最近更新 更多