首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Ruby/Rails中使用全局变量还是常量变量?

在Ruby/Rails中使用全局变量还是常量变量?
EN

Stack Overflow用户
提问于 2012-06-06 00:09:25
回答 3查看 4.1K关注 0票数 20

假设我们有一个到memcache或redis的连接。哪种风格是首选的?为什么?

代码语言:javascript
复制
MEMCACHE = Memcache.new(...)
REDIS = Redis.new(...)

代码语言:javascript
复制
$memcache = Memcache.new(...)
$redis = Redis.new(...)
EN

回答 3

Stack Overflow用户

发布于 2013-05-10 11:23:09

您可能想要使用Redis.current More info here

例如,在初始化器中:

代码语言:javascript
复制
Redis.current = Redis.new(host: 'localhost', port: 6379)

然后在你的其他课程中:

代码语言:javascript
复制
def stars
  redis.smembers("stars")
end

private

def redis
  Redis.current
end
票数 45
EN

Stack Overflow用户

发布于 2012-06-06 00:19:59

它们不是等价的构造。根据您的应用程序,它们可能可以互换,也可能不能互换,但它们在语义上是不同的。

代码语言:javascript
复制
# MEMCACHE is a constant, subject to scoping constraints.
MEMCACHE = Memcache.new(...)

# $memcache is a global variable: declare it anywhere; use it anywhere.
$memcache = Memcache.new(...)
票数 9
EN

Stack Overflow用户

发布于 2012-06-06 00:17:47

我是一个“常量”,因为它传达了它应该是...常量。

全局变量并不意味着它们不应该发生变化。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10900855

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档