在 Ruby 中使用或运算符简化“任意”检查

2024-01-03

如何简化以下检查?...

if node[:base][:database][:adapter].empty? || node[:base][:database][:host].empty? || 
  node[:base][:database][:database].empty? || node[:base][:database][:port].empty? 

类似的东西

required_keys = { :adapter, :host, :database...etc...} 
required keys - node[:base][:database] == [] 

这种语法有点偏离,但基本上是从所需的键集中减去您拥有的键。如果您的集合中拥有所有必需的键,则结果应该为空。

我不确定语法是否正确? 。任何帮助,将不胜感激


required_keys = [:adapter, :host, :database ]
if required_keys.any?{|x| node[:base][:database][x].empty?}
  #code here
end

或者你也可以这样做:

node[:base][:database].values_at(*required_keys).any?(&:empty?) 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Ruby 中使用或运算符简化“任意”检查 的相关文章

  • Delphi - 相当于C#的三元运算符? [复制]

    这个问题在这里已经有答案了 可能的重复 Delphi 中是否存在或者将来是否存在条件运算符 https stackoverflow com questions 2108609 is there or is there ever going
  • 尝试从 Rails 控制器调用辅助方法时出现 NoMethodError

    我得到了一个NoMethodError当尝试从我的控制器类之一访问我的帮助器模块之一中定义的方法时 我的 Rails 应用程序使用helper类方法与 all符号如下图所示 class ApplicationController lt Ac
  • Rails_admin 中的范围作为过滤器

    我在我的应用程序中使用rails admin 我的模型上有一些范围 以下是一个示例 class User lt ActiveRecord Base scope unconfirmed where confirmed at IS NULL e
  • 在轮询器内异步运行代码

    在我的 ruby 脚本中 我使用 celluloid zmq gem 我尝试在轮询器内异步运行评估响应 使用 async evaluate response socket read multipart 但是 如果我从循环中删除睡眠 不知何故
  • Rails——理解 db:migrate

    我在理解 Ruby on Rails 中的迁移时遇到了一些困难 我的应用程序中有以下两个类db migrate 目录 存储在单独的文件中 class CreateUsers lt ActiveRecord Migration def sel
  • 使用 Ruby CSV 标头转换器

    假设我有以下课程 class Buyer lt ActiveRecord Base attr accesible first name last name 以及 CSV 文件中的以下内容 First Name Last Name John
  • 新手:我的例子中的文本替换

    In my 红宝石 on Rails应用程序中 我的助手中有一个方法 它通过以下方式打开文件 content File open myfile txt The 文件内容就好像 my car my seat my age my son my
  • Ruby Regex 舍入尾随零

    我正在寻找一个正则表达式来删除十进制数字中的尾随零 它应该返回以下结果 0 0002300 gt 0 00023 10 002300 gt 10 0023 100 0 gt 100 1000 gt 1000 0 0 gt 0 0 gt 0
  • 使用“回形针”gem 和 Ruby on Rails 3 时出现问题

    我在运行 Snow Leopard v1 6 5 的 MacO 上使用 Ruby on Rails 3 我想使用 回形针 gem 所以我将它包含在我的 Gemfile 中 如下所示 gem paperclip gt 2 3 然后 在终端中运
  • Ruby 单引号和双引号

    我最近一直在使用 Ruby 进行编码 并且之前使用过 Python 据我所知 单引号和双引号对代码的工作方式没有影响 我转向 Ruby 是为了了解它是如何工作的 并研究 Ruby 和 Python 之间的相似之处 我曾经使用过单引号字符串并
  • Elastic Beanstalk、Bundler 找不到 gem“bundler”的兼容版本

    我已经尝试过将 Elastic Beanstalk 用于 Rails 当我运行 eb deploy 时出现此错误 我需要至少安装bundler 1 8 4 知道如何解决这个问题吗 Bundler could not find compati
  • 从架构中删除表 - Rails

    我想删除架构中的一个表 我在第一次启动项目时创建了数据库并希望删除该表 这样做的最佳方法是什么 I tried rails g migration drop table installs但这只会创建一个空迁移 Schema create t
  • 向 Rails 应用程序中的内置类添加方法

    我想向 Rails 应用程序中的 Array 类添加一个方法 我应该把这个方法放在哪里 编辑得更清楚 显然我把它放在某个文件中 但是我如何告诉 Rails 应用程序在哪里可以找到它 执行此操作的一种方法是在以下位置创建一个文件lib rai
  • 被一个简单的正则表达式难住了

    我想看看字符串是否s包含正则表达式中的任何符号 下面的正则表达式可以正常工作rubular http rubular com s asd d s 但在 Ruby 1 9 2 中 它给出了以下错误消息 syntax error unexpec
  • 尝试使用适用于 Windows XP 的 Heroku 时未找到 msvcrt-ruby18.dll

    我有一个学生在 Windows XP 上进行开发 他在尝试运行时遇到了一个奇怪的错误heroku keys add 错误是 This application has failed to start because msvcrt ruby18
  • 使用 Ruby on Rails 进行设计 - 强制用户在首次登录时更改密码

    我有一个运行 Devise 的 RoR 应用程序 Rails 4 2 Ruby 2 2 0 我已经进行了设置 以便管理员用户 标识了我添加到用户模型中的 is admin 布尔值 能够创建新的用户帐户 为他们提供生成的密码和确认电子邮件 这
  • 验证 ActionCable 连接

    我发现了一个很棒的 ActionCable gem 它是 SPA 的一个很好的解决方案 我只想发送html css and js资产 所有其他连接将通过ActionCable 交换字符串或者整数并不难 但是如何通过ActionCable登录
  • gets、gets.chomp 和 gets.chomp 之间的区别!?

    这三者有什么区别 gets 它得到一行带有 n gets chomp 它得到一行 但删除 n 那是对的吗 关于什么gets chomp gets http www ruby doc org core 2 1 0 Kernel html me
  • Ruby 未绑定方法:是否可以强制绑定到其他类的实例?

    我想知道我是否可以强迫这种情况发生 class A def bomb bomb end end class B end bomb A instance method bomb b B new bomb bind b 目前它抛出错误 Type
  • 如何使 Rails 3 资源预编译速度更快?

    我有一个正在运行的 Rails 3 2 1 应用程序 我正在通过 Capistrano 进行部署deploy assets它运行deploy assets precompile task 一切工作都很好 除了编译本身非常慢 我没有那么多 C

随机推荐

  • 在 RStudio 中安装包时出错:从连接读取时出错

    我最近更新了 R 版本 3 4 1 和 RStudio 版本 1 0 143 现在无法从 Rstudio 安装软件包 如果我直接使用 R 安装包install packages 效果很好 如果我尝试使用以下任一方法在 Rstudio 中安装
  • 构造函数调用自身

    我最近发现无参数构造函数和多参数构造函数不能轮流调用对方 这种限制的根本原因是什么 有人可能会说构造函数是初始化资源的地方 因此不能递归调用它们 我想知道这是否是唯一的原因 函数 方法 过程可以递归调用 为什么不是构造函数 答案在于 对另一
  • 获取焦点(或 Tab)顺序

    我使用 Qt Designer 设计了一个用户界面 并使用 编辑选项卡顺序 模式设置了选项卡顺序 现在我想知道 出于其他原因 不是那么重要 是如何获取 ui 中特定 QWidget 的 Tab 键顺序 我的意思是 如果我有几个小部件 并且说
  • 工作流程语言? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找当前工作流程语言的列表 我知道关于BPEL http en wikipedia org wiki Business Proces
  • 查询特定 Twitter 用户的 tweepy (get_followers) 中的分页

    我对使用游标类的 tweepy 和分页相当陌生 我一直在尝试使用光标类来获取特定 Twitter 用户的所有关注者 但我不断收到错误消息 tweepy error TweepError This method does not perfor
  • Apache Tomcat 9 重写阀不工作

    我一直在尝试设置我的 tomcat 9 重写阀门 在全局级别 但没有成功 遵循我在互联网上找到的每个教程 但无论我如何配置我的 rewirte config 阀门根本无法工作 所以我写了我能想到的最简单的 rewrite config 它只
  • Vue 和 Bootstrap Vue - 动态使用插槽

    我试图在 bootstrap vue 表中创建一个插槽 以使用自定义组件呈现任何布尔值 所以我有一个简单的表
  • 自动部分重新索引何时在 Magento EE 1.13 中实际运行?

    Magento 1 13 为大多数索引添加了部分索引 并能够将索引过程推迟到异步运行的 cron 作业 我的问题是 是否有现有的 cron 作业可以执行此操作 或者这是我必须自己设置的东西 文档对此并不清楚 http www magento
  • 如何在 Android 应用程序中单击按钮时打开网站?

    我正在设计一个应用程序 有几个按钮供用户单击 单击按钮后 用户将被定向到适当的网站 我该如何实现这个目标 如果您正在谈论 RCP 应用程序 那么您需要的是 SWTlink widget Here http dev eclipse org v
  • 在 Google 表格中查找默认填充颜色的颜色代码

    我正在编写一个脚本 使用以下命令为 Google 电子表格中的单元格着色Range setBackground color 方法 我想使用一种预设填充颜色 但我很难找到确切的颜色代码 十六进制 RGB 我只想要一个官方列表 000000 4
  • 如何知道应用程序是否首次在 Mac 上运行

    在Windows上 我们可以将值写入注册表来知道 但我如何知道我的应用程序是否是第一次在 Mac 上运行 我需要执行一些初始化任务 Thanks 您正在寻找班级NSUserDefaults see 苹果文档 http developer a
  • 完整的未来 | thenApplyAsync 与 thenCompose 及其用例[重复]

    这个问题在这里已经有答案了 我试图理解 CompletableFuture 并遇到了两种方法 thenApplyAsync 和 thenCompose 我试图理解这两者之间的区别 CompletableFuture
  • HTML5:通过 JavaScript 绘图后将透明度应用于 Canvas

    我试图将多个对象绘制到画布元素上 然后将它们干净地淡出 然而 当尝试使用 globalAlpha 来实现此目的时 您可以看到通常会被遮挡的对象片段 因为每个对象都变得单独透明 解释 考虑以下代码 context fillStyle yell
  • Moment Js 获取两个日期之间的小时差

    我可以使用 MomentJs 获取两个日期之间的差异 如下所示 moment end diff startTime format m m s s 但是 我还想在适用时显示小时 仅当已过去 gt 60 分钟时 但是 当我尝试使用以下命令检索持
  • 用于分析 OCaml 代码的工具 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 除了在编译时使用 p 选项然后使用 gprof 之外 是否有人知道用于分析 OCaml 代码的程序 我
  • R 数据表 setkey - 错误某些列不在 data.table 中

    我想使用 data tablesetkey具有预定义列表id and categories 但收到错误消息 gt setkey tr id cat dt id categories Error in setkeyv x cols verbo
  • 有没有办法让 BaseX 提供 HTML 文档服务?

    有没有办法让 BaseX 的 HTTP 服务器提供 HTML 文档 该文档可以作为原始资源存储在数据库中 也可以存储在文件系统中 具有 text html 内容类型 以便可以在浏览器中显示 该文档是一个向 BaseX 发出 XHR 请求的网
  • 如何在 R 中将因子转换为日期时间?

    这个问题对你们中的一些人来说可能很简单 但请耐心等待 因为我是 R 的初学者 我有一个数据框 其中有一个因子列 称为时间 其中包含日期时间数据 如下所示 time 01 01 2011 00 10 02 01 2011 03 00 03 0
  • 在C中交换指针[重复]

    这个问题在这里已经有答案了 include
  • 在 Ruby 中使用或运算符简化“任意”检查

    如何简化以下检查 if node base database adapter empty node base database host empty node base database database empty node base d