在 Ruby 中将变量与两个不同值进行比较

2024-01-26

这更多的是一个语义问题。

我想检查一个变量是否是两个值之一。最简单的方法是:

if var == "foo" || var == "bar"
# or
if var == 3     || var == 5

但这对我来说并不感觉很干。我知道我可以使用String.match(),但这不适用于非字符串变量,并且速度慢三倍。

有没有更好的方法根据两个值检查变量?


将所有值放入一个数组中,然后应该很容易。

%w[foo bar].include?('foo') # => true

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

在 Ruby 中将变量与两个不同值进行比较 的相关文章

  • 如何将 STDOUT 捕获到字符串?

    puts hi puts bye 我想存储到目前为止代码的 STDOUT 在本例中 hi nbye 到变量中说 结果 并打印它 puts result 我这样做的原因是我已将 R 代码集成到我的 Ruby 代码中 当 R 代码运行时 其输出
  • Rails:将参数从视图传递到控制器

    我在 Rails 中有以下模型 class Task lt ActiveRecord Base attr accessible description name project belongs to project validates na
  • Rails 2.3.14:如何序列化 ActionController::Request 对象?

    我需要编写一些根据 Rails 2 3 14 控制器收到的请求对象类型执行操作的方法 但是 我不想启动整个应用程序 甚至不想启动控制器 我只想拥有这样一个对象的编组副本 以便我可以在 Rails 环境之外使用 不幸的是 ActionCont
  • 如果数组包含一个或多个相同值,则合并数组

    我有一个数组数组 a 1 2 3 3 4 5 6 7 8 8 9 9 10 我想合并包含一个或多个相同值的所有数组 所以 a 1 2 3 4 5 6 7 8 9 10 我正在努力寻找一种简洁的方法来解决这个问题 有任何想法吗 我相信这是正确
  • 为什么每个方法需要将其循环的值分配给变量?

    在 Rails 上工作 发现我对 Rails 的理解缺乏知识each method 不知道为什么each方法需要变量 message h2 h2 不确定为什么每个方法都需要变量 message 事实并非如此require它 你完全可以忽略它
  • Ruby:基于控制台的菜单

    我有一个名称和 URL 数组 并希望以向上 向下滚动菜单的形式向用户呈现名称列表 基本上是什么dialog允许在外壳内 我调查过ncurses ruby rdialog and HighLine但它们似乎要么作为一个项目被放弃 要么甚至从它
  • 将 R 与 Rsruby 集成

    我想知道是否有人有将 R 集成到 Rails 中的经验 特别是在 heroku 上 我熟悉 rsruby gem 它是 ruby 与 R 事实上的 也许是唯一的 绑定 但是有关将 R 与 Rails 集成的文档即使不是不存在 也是很少的 比
  • postgres 数组字段上的 ActiveAdmin 过滤器

    我在 ActiveAdmin 中添加了以下过滤器 filter roles as select collection Model ROLES multiple true 但是当我选择过滤器值来搜索角色时 它给了我以下错误 PG Invali
  • 更快地将数据库从一个heroku应用程序传输到另一个应用程序

    有没有更快的方法将我的生产数据库传输到测试应用程序 目前我正在做一个heroku db pull然后到我的本地机器heroku db push app testapp但这变得越来越耗时 我有一些种子数据 但它并不像简单地使用我的真实数据进行
  • Ruby 中的 Splat 运算符(快速排序示例)

    你好 我正在研究一些 Ruby 代码 在 Ruby 中实现快速排序 1 def qsort lst 2 return if lst empty 3 x xs lst 4 less more xs partition y y lt x 5 q
  • 设计重定向到成功登录似乎在第一次登录尝试时卡住

    我正在使用 Ruby on Rails 开发一个小型应用程序 并使用 Devise 进行身份验证 我有两个登录系统设置 一个是user另一个是employee 当使用正确的电子邮件和密码登录时 设计会发送正确的重定向到返回路径 但它会卡在那
  • 默认更新嵌套属性

    我尝试更新 iProduction 这是生产中的嵌套表单 但此行出现参数错误 参数数量错误 0 代表 1 生产 update iproducts attributes cow id cow 我的创作动作制作 def create produ
  • 如何从 method_missing 获取绑定?

    我试图找到一种方法来从 Ruby 1 8 中的 method missing 中的调用者获取绑定 但我似乎找不到方法来做到这一点 希望下面的代码能解释我想做的事情 class A def some method x 123 nonexist
  • 有没有一种好方法来计算 ruby​​ 中范围元素的总和

    计算范围总和的好方法是什么 Input 4 10 Output 4 5 6 7 8 9 10 49 您可以使用EnumerableRange 对象上的方法 在本例中使用Enumerable inject 4 10 inject gt 49
  • 安装 Ruby 后,MAC OS X 上的活动开发人员路径无效

    我收到此错误 xcrun 错误 无效的活动开发人员路径 Applications Xcode app 缺少 xcrun Applications Xcode app usr bin xcrun This solution https sta
  • 如何在 Mac OS X 上使用 ulimit 或每个进程更改 C 或 Ruby 程序的堆栈大小?

    似乎为 C 程序或 Ruby 程序 使用 C 堆栈 设置堆栈大小的推荐方法是使用ulimit在 Bash shell 中 但 ulimit s 8192 ulimit s 16384 bash ulimit stack size canno
  • 如何从 Ruby 模块中仅导入几个函数?

    假设我有一个带有以下方法的模块 function1 function2 function3 我想导入 function1 和 function2 但不导入 function3 有没有办法在红宝石中做到这一点 不确定是否有一种干净的方法来添加
  • 使用 tweetstream 守护进程写入数据库

    我正在尝试将与关键字匹配的所有推文写入我的数据库 我在中设置了以下内容tracker rb require rubygems require tweetstream TweetStream Daemon new Bill Gates mon
  • 检查 Float 是否等于 Ruby 中的整数值

    假设我有以下代码 x 0 8 y 1 0 最好的检查方法是什么y相当于Integer 目前我正在做 y to int y 这可行 但我觉得应该有更好的方法 You mod值为 1 并检查该值是否等于 0 if y 1 0
  • ruby 包含问题

    class Foo def initialize a puts Hello a end end module Bar def initialize b puts b World end end class Sample lt Foo inc

随机推荐