Rails:“in”之间的区别?和“包括?”在 Rails 中

2024-02-06

我正在研究 Rails 的 ActiveSupport 扩展,并且遇到了“in?”方法。对我来说,它的外观和工作方式与“包含?”完全相同。方法,只不过是反过来而已。

([1..5]).include? 1
1.in? ([1..5])

我一直在使用“包含?”自从我第一次开始使用 Rails 以来,我一直在使用 Rails 方法,所以有趣的是还有另一种方法可以完成完全相同的事情。我缺少的两种方法有什么区别吗?

EDIT

有没有使用“in”的场景?会比使用“包含?”受益更多?因为现在我所能想到的就是“在?”给出“包含?”是一个毫无意义的方法已经为其目的而存在。


在?该方法在 Rails 3.1 之后可用。那么如果你想用在?方法中,我们需要标记 require 'active_support' 然后我们可以使用 in?方法。

但其中包括?方法可用于所有枚举。就像在普通的 ruby​​ 控制台中一样,您可以尝试:

From irb: 
(1..5).include? 1 #you are checking for include? on a range.
=> true
(1..5).to_a.include? 1 # you are checking on an Array.
=> true 
2.1.5 :023 > 1.in?(1..5)
NoMethodError: undefined method `in?' for 1:Fixnum

从 Rails 控制台:

1.in?(1..5)
=> true 
(1..5).include? 1
=> true

检查他们的表现:

 require 'benchmark'
=> false
 puts Benchmark.measure { 90000.in?(1..99000)}
  0.000000   0.000000   0.000000 (0.000014)
 puts Benchmark.measure { (1..99000).include? 90000 }
  0.000000   0.000000   0.000000 ( 0.000007)

你可以看到,包括?比在更快?

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

Rails:“in”之间的区别?和“包括?”在 Rails 中 的相关文章

  • 如何使用康康康舞?

    我想向我的 Rails 应用程序中的用户授予权限 我有 管理员 可以创建 更新和删除所有帖子和评论 用户 只能创建和更新自己的评论 访客 则不能执行这些操作 为此 我使用宝石 devise 和 cancancan 我理解 devise 宝石
  • 是我的问题还是 Rails 和 Django 在 Windows 上安装困难?

    我尝试让这些框架在 Windows Vista 上运行几天 但没有成功 每次我认为我让它们工作时 我都会遇到一些涉及 PostgreSQL 或 MySQL 设置的随机错误 或者路径被搞砸了 或者一些其他命令行错误 未识别为内部或外部命令 或
  • 启动 Rails 控制台时不运行 rufus-scheduler 的最佳方法

    我使用 rufus scheduler 来运行一些定期任务 但是当我只想测试东西时 在 Rails 控制台中使用它们非常烦人 自动启动控制台时是否有一种简单的方法来停止所有 rufus scheduler 任务 在启动调度程序的代码中 如果
  • 用于将唯一项插入数组的 Ruby 条件

    我知道如果你有一个array并将其引用为array uniq它将返回 没有任何重复项 然而 在本例中 它是一个对象数组 这是正确的 Ruby 语言吗 我希望每个电话都进入 calls数组除非call from与数组中已存在的 call fo
  • Rails cron 每当捆绑:命令未找到

    我尝试使用 每当 每天执行一次耙子任务 我收到这个错误 bin bash bundle command not found home app rvm rubies ruby 1 9 2 p180 lib ruby site ruby 1 9
  • 使用 gem 添加辅助方法

    我找到了很多有关添加表单辅助方法的信息 请参阅我的其他问题之一 但我找不到有关添加辅助方法的任何信息 就好像它们是在application helper rb 我尝试过复制application helper rb从 Rails 应用程序到
  • RSpec:重新打开类时存根 Rails.application.config 值不起作用?

    我在应用程序配置中定义了一个选项 我想要测试的类是在 gem 中定义的 不是我编写的 我想重新开课 Myclass class eval do if Rails application config myoption value1 some
  • 覆盖生产环境中的后端资产

    我正在开发一个需要稍微改变 Refinery 的 WYMEditor 行为的项目 这可以通过重写轻松完成jquery refinery wymeditor js using rake refinery override并根据我自己的需要进行
  • Rails 3 > 在 rake 任务中渲染视图

    我遇到了一项需要为 Mailchimp 准备新闻通讯的 rake 任务 使用 google 搜索到的 Rails 2 x 内容 我现在有了以下代码 desc Sends newsletter to Mailchimp list task s
  • 将 mongoid 会话设置为只读

    我有不同的会话mongoid yml 其中一个会话提供来自静态 mongo 数据库的数据 我想知道是否有可能以只读模式 加载 会话 以便不进行任何更改save create destroy or destroy all可以制作 我的mong
  • MonkeyPatching ActiveJobs

    我在 ActiveJobs 的猴子修补部分遇到问题 我在 config initializers extensions arguements rb 中有以下代码 module ActiveJob module Arguments TYPE
  • ActiveStorage::FileNotFoundError 但文件确实存在

    我正在开发这个 Rails 6 0 21 应用程序 ruby 2 5 5 并使用 puma 3 12 2 作为开发 Web 服务器和具有本地磁盘服务的 ActiveStorage 我的应用程序时不时地出错ActiveStorage File
  • 如何在 jQuery.ui.autocomplete 中的自动完成弹出窗口下方添加所有搜索的链接?

    我有使用 jQuery UI 自动完成插件的搜索建议自动完成功能 http jqueryui com autocomplete http jqueryui com autocomplete 但是如何添加结果弹出项目的底部 其行为类似于 Qu
  • 如何在 Ubuntu 中使用 gems?

    我最近升级到 Ubuntu 9 04 但在使用 gems 时遇到问题 我使用 apt get 安装了 Ruby Rubygems 和 Rails 这rails命令确实有效 然后我安装了 capistrano 和其他 gem 例如 herok
  • 如何在同一视图中渲染两个分页且可 ajax 的集合?

    在 Rails 3 2 索引视图中 我正在渲染两个部分 并且在部分 Show some fields 分页不起作用 如果我改变will paginate要获取实例变量 分页可以工作 但是集合错误 当调用部分时 如何将
  • 找不到关联,Rails 3

    class Membership lt ActiveRecord Base belongs to role belongs to user end class User lt ActiveRecord Base has many roles
  • 如何在Rails 中使用highlight.js?

    我正在尝试在我的 Rails 应用程序中使用语法突出显示和highlight js height js 的说明如下 https github com isagalaev highlight js https github com isaga
  • 加载新的 Turbo Frame 时如何执行 JavaScript

    我在 Rails 应用程序中使用 Turbo Frames 并且在每个页面上都有
  • Heroku 带宽和空间

    Heroku 对于免费应用程序支持多少流量带宽和磁盘空间 Heroku 免费版有一个 5 MB 的数据库和 1 个 dyno dyno 是运行并响应请求的应用程序的实例 此外 您的 slug 的大小有 100 MB 的限制 这包括您使用的所
  • 为什么这段 Ruby 代码无法写入日志文件?

    一旦脚本被守护 记录器就无法再写入文件 那么我应该如何以及何时初始化日志呢 require rubygems require daemons require logging def create new logger logger Logg

随机推荐

  • 不包含带有 0 个参数的构造函数

    我收到一条错误消息 指出以下代码中的 Products 不包含采用 0 个参数的构造函数 public class Products string id string name double price int soldCount int
  • 使用复选框从数据库表中删除行

    我想在表中显示数据库中的记录 每行都有复选框 该复选框将确定用户是否要删除该特定行 如果选中 我能够显示数据库中的数据 但是当我按下删除按钮时什么也没有发生 我不确定 但我认为错误在于我删除了部分代码 但我可能是错的 我不知道 无论如何 这
  • 使用自定义 Gson 反序列化器反序列化 JSON 响应时出错

    在我使用 Retrofit 的 Android 应用程序中 我尝试反序列化具有包装项目列表的外部对象的 JSON 我使用 GsonConverterFactory 和 Retrofit 实例来反序列化 JSON 我创建了一个自定义反序列化器
  • 是否可以获取Mysql中按列名分组在一起的行列表?

    在我的数据库中 我有一个名为 结果 的表 其中有四列 名称 设备 通过 失败 假设表中有 4 行 如下所示 name device passed failed test1 device 1 2 1 test1 device 2 3 0 te
  • 如何在 iPhone 的 pdf 页面中使用 CGPDFScanner 查找字坐标?

    我正在使用 CGPDFScanner 解析 pdf 页面 但我无法找到搜索结果的坐标 在 void Tm1 CGPDFScannerRef Scanner void info 中 我只获取某些单词的坐标 而不是 pdf 中每个单词的坐标 如
  • tensorflow有没有类似pytorch的“masked_fill_”的功能

    我想通过掩码矩阵将 INF 值设置为矩阵 就像 pytorch 代码一样 scores data masked fill y mask data float inf 我尝试使用tf map fn实现这一点 但性能太慢 那么tensorflo
  • undertow-handlers.conf 中的规则将 HTTP 重定向到 HTTPS

    我在负载均衡器后面有一个 Wildfly 它们之间的连接始终是 HTTP 客户端和负载均衡器之间的连接可以是 HTTP 或 HTTPS 负载均衡器设置一个标头 X Forwarded Proto 来让 Wildfly 知道客户端正在使用哪个
  • 为我的对象实现 Save 方法

    我正在尝试改进应用程序的设计 因此不是从表示层调用数据访问层 我将尝试从 BusinessObjects 层中的对象实现保存方法 但我不确定如何通过图层传递对象或其属性 例如 在我的旧设计中 我只是在表示层中创建对象的实例并分配它的属性 然
  • C中数组相关函数参数的区别

    我定义了一个数组 float array 3 4 5 那么 当 array array 0 array 0 0 array 0 0 0 用作函数参数 需要了解的重要一点是 在 C 中 数组并不是完整地作为参数传递的 相反 传递的是指向数组第
  • ui 路由器不会将内容放入指定的 ui-view 中

    当我进入路线时 projects 100 dates 2014 01 01 在 url 中并按回车键 我得到 项目 状态 我预计会触发 projects selected dates 状态 为什么路由不起作用 实际上它在我的机器上本地运行
  • iPhone 横向 - iOS7 R4 图像资源仅无启动图像

    我相当确定这是一个错误 但如果有人找到解决方法 请告诉我 我已经在 Xcode 5 中设置了启动图像的资产目录 如果我设置 iOS 7 R4 图像 则仅当我的应用程序支持纵向方向时才使用它 我的应用程序仅横向显示 我看不到启动图像 iOS
  • 如何在 php 中创建类似 twitter 的 search.json

    我在我的网站上创建了一个 search php 文件 它生成一个 JSON 字符串 帮助我为我的应用程序使用实时 ajax 但现在 我想将它作为 API 向其他人开放 但我发现 get getJSON ajax 不允许使用来自其他服务器 域
  • 使用 Django dumpdata 转储整体数据的子集?

    我正在尝试使用 dumpdata 为数据库生成 JSON 该数据库对于 django 来说足够大 需要很长一段时间才能输出 有没有办法只转储字段的子集 比如说 100 用于测试 我正在使用 MySQL 和 Django 1 0 第三方 dj
  • Plotly:如何在桑基图中设置节点位置?

    样本数据如下 unique list home0 page a0 page b0 page a1 page b1 page c1 page b2 page a2 page c2 page c3 sources 0 0 1 2 2 3 3 4
  • 如何使用冒泡排序对链表进行排序?

    我正在尝试使用冒泡排序来对链接列表进行排序 我使用 curr 和 Trail 来遍历列表 curr 应该总是比 Trail 领先一步 到目前为止 这是我的代码 void linked list sort int i j 0 int coun
  • 将 Docker 镜像内的用户切换为非 root 用户

    我正在尝试将用户切换到 tomcat7 用户以设置 SSH 证书 当我做su tomcat7 什么都没发生 whoami完成后仍然会rootsu tomcat7 Doing a more etc passwd 我得到以下结果 清楚地表明 t
  • 如何通过给出正在运行的进程名称来获取窗口句柄?

    如何通过在 c 中给出进程名称或窗口标题来获取窗口句柄 假设进程已经在运行 您可以使用Process class Process processes Process GetProcessesByName someName foreach P
  • 我应该在 for in 构造中使用 var 吗?

    我在一段 JavaScript 逻辑中使用了 for in 循环 我应该使用 var 关键字吗 当我按照 W3School 的示例运行 for in 循环时 如果没有 var 那么作为副作用 它被定义为全局范围 窗口 上的属性 functi
  • 登录后如何重定向 django.contrib.auth.views.login ?

    我添加了 django contrib auth views login我的网页上到处都是 为此我必须加载一个模板标签 https docs djangoproject com en 1 2 ref templates builtins 返
  • Rails:“in”之间的区别?和“包括?”在 Rails 中

    我正在研究 Rails 的 ActiveSupport 扩展 并且遇到了 in 方法 对我来说 它的外观和工作方式与 包含 完全相同 方法 只不过是反过来而已 1 5 include 1 1 in 1 5 我一直在使用 包含 自从我第一次开