Ruby:如果存在 ENV 变量,则使用最简洁的方法,否则使用默认值

标签 ruby hash

在 Ruby 中,我正在尝试编写一行,如果已设置变量,则使用该变量,否则默认为某个值:

myvar = # assign it to ENV['MY_VAR'], otherwise assign it to 'foobar'

我可以这样写这段代码:

if ENV['MY_VAR'].is_set? #whatever the function is to check if has been set
  myvar = ENV['MY_VAR']
else
  myvar = 'foobar'
end

但这有点冗长,我尽量用最简洁的方式来写。我该怎么做?

最佳答案

myvar = ENV['MY_VAR'] || 'foobar'

注意这有点不正确(如果散列可以包含值 nil)但由于 ENV 只包含字符串,它可能已经足够好了。

关于Ruby:如果存在 ENV 变量,则使用最简洁的方法,否则使用默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7666252/

相关文章:

jquery - 如何使用window.location.hash?

xml - 使用散列键通过 XML::LibXML 编写 xml 文件时出现编码错误

ruby - 按字典顺序排序

ruby - 在 Ruby 中下载远程文件之前如何获取它的 mtime?

ruby - 适用于 Ruby 的 Azure SDK : Table Storage - query_entities page, 计数,跳过实体?

algorithm - HashSet 如何提供恒定时间添加操作?

无序字符串集的良好哈希函数?

python - 是否有 Ruby/Python HTML 重排/布局库?

ruby-on-rails - 在另一个 Controller 的显示操作中将多步表单向导的第一步呈现为部分

perl - 无法修改子例程内的匿名哈希引用