Ruby 中的每个自动计数器?

2024-04-12

我想使用 for-each 和计数器:

i=0
for blah in blahs
    puts i.to_s + " " + blah
    i+=1
end

有更好的方法吗?

Note:我不知道是否blahs是一个数组或一个散列,但必须这样做blahs[i]不会让它变得更性感。我也想知道怎么写i++在红宝石中。


从技术上讲,马特和斯奎吉的答案排在第一位,但我对悖论给出了最佳答案,因此在各点上稍微分散了一下。他的回答还包含有关版本的注释,这仍然是相关的(只要我的 Ubuntu 8.04 使用的是 Ruby 1.8.6)。


应该用过puts "#{i} #{blah}"这更加简洁。


正如人们所说,你可以使用

each_with_index

但是如果您想要索引的迭代器与“each”不同(例如,如果您想使用索引或类似的东西进行映射),您可以将枚举器与each_with_index方法连接起来,或者简单地使用with_index:

blahs.each_with_index.map { |blah, index| something(blah, index)}

blahs.map.with_index { |blah, index| something(blah, index) }

您可以从 ruby​​ 1.8.7 和 1.9 开始执行此操作。

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

Ruby 中的每个自动计数器? 的相关文章

  • 我无法让 ruby​​ 开发工具包适用于 Windows XP

    所以 我一生都无法让它正常工作 我的最终目标是安装 dbd odbc gem 并使其正常工作 从我读过的多篇文章来看 我需要安装ODBC 绑定 http www ch werner de rubyodbc 对于 ruby 以及 dbd od
  • bash 中 :-(冒号破折号)的用法

    bash中这种风格的含义是什么 PUBLIC INTERFACE eth0 目的是什么 If PUBLIC INTERFACE存在且不为null 则返回其值 否则返回 eth0 实际上有一些记录在bash 手册页 http linux di
  • ruby从1.8.7升级到1.9.2(使用Rails 3.1.1)后本地服务器错误

    我刚刚安装了rvm并使用rvm将ruby从1 8 7升级到1 9 2 我在我的应用程序上运行了捆绑安装 它重新安装了我的 gems 当我在本地运行 Rails 服务器并将浏览器导航到 localhost 3000 时 服务器日志中显示以下错
  • Ruby/Rails 集合到集合

    我有两个表与一个连接表连接 这只是伪代码 Library Book LibraryBooks 我需要做的是 如果我有一个图书馆的 id 我想获取该图书馆拥有的所有书籍所在的所有图书馆 因此 如果我有图书馆 1 图书馆 1 中有书籍 A 和
  • Rails/Ruby 合并两个具有相同键、不同值的哈希值

    我有两个想要合并的哈希值 它们看起来像这样 Hello gt 3 Hi gt 43 Hola gt 43 第二个哈希看起来像 Hello gt 4 Hi gt 2 Bonjour gt 2 我想合并这两个哈希数组 使结果看起来像 Hello
  • 超类与类SpecificationPolicy不匹配

    我得到了一个superclass mismatch for class SpecificationPolicy尝试安装或升级某些brew 软件包时出错 例如 更新安装 supabase CLI 时 brew install supabase
  • 正则表达式的 o 修饰符是什么意思?

    Ruby 正则表达式有一些选项 例如i x m o i例如 意味着忽略大小写 什么是o选项是什么意思 在ri Regexp 它说o意味着执行 仅插值一次 但是当我这样做时 a one b a a two b不改变 它保持 one 我缺少什么
  • Ruby 中的 url_encode

    I read 的文档url encode http rdoc info stdlib erb 1 9 3 ERB Util 3Aurl encode 是否有一个表可以准确地告诉我哪个字符被编码为什么 使用url encode ERB s u
  • Rails 3.2:用 json 序列化中的空字符串替换 null 值

    我正在使用 Rails 3 2序列化 http www simonecarletti com blog 2010 04 inside ruby on rails serializing ruby objects with json 将 ru
  • 如何通过 Ruby 中的代理获取带有用户代理和超时的 URL?

    如果我需要通过某些方式获取 URL 我该如何获取 URLproxy 它必须有一个timeout最大 n 秒 和一个用户代理 require nokogiri require net http require rexml document d
  • ruby rspec 不能与 simplecov 一起使用

    我安装了 simplecov gem 并添加了 require simplecov SimpleCov start 到spec helper rb文件 现在如果我在some file spec rb文件中包含spec helper rb并尝
  • 更改 en.yml 文件中的属性名称不起作用

    我更改了 ruby on Rails 项目中 en yml 文件中的属性名称 按钮工作正常 但字段属性并没有改变 这是我的模型 class Enr AffordableWarmth lt ActiveRecord Base self tab
  • 如何在 Ruby 中将 DateTime.now 转换为 UTC?

    如果我有d DateTime now 如何将 d 转换为 UTC 带有适当的日期 DateTime now new offset 0 将在标准 Ruby 中工作 即没有 ActiveSupport
  • 使用 HTTPClient 发布嵌套参数(哈希)

    我需要从一个应用程序到另一个应用程序的多部分 http 帖子 其中包括文件附件和嵌套的参数哈希 我尝试使用HTTPClient这适用于文件附件 但是我无法获取以嵌套格式发送的参数 data params Hash new data para
  • 带有 Rake 的 RubyMine 调试器?

    使用 RubyMine 3 0 我设置了 Rake 配置来运行单元测试 然后我设置了一些断点 然后运行 Rake 任务 没有命中断点 测试只是像平常一样执行 然后退出 RubyMine 调试器无法通过 Rake 运行吗 尝试这个 转到运行
  • 使用yard创建文档时如何防止[查看源代码]链接?

    我正在使用yard生成项目文档 但我不想在文档中显示 查看源代码 链接 我已深入研究yard官方指南 但仍然没有得到解决方案 有什么想法吗 谢谢 我可能有点晚了 但您可以通过从 method details 部分中删除 源 部分来轻松自定义
  • 使用哈希时 fetch 与 [] ? [复制]

    这个问题在这里已经有答案了 来自鲁比 科恩斯about hashes rb 为什么你可能想使用 fetch代替 当访问哈希键时 默认情况下 使用 如果存在则检索哈希值 如果不存在则返回 nil Using fetch给你一些选择 请参阅文档
  • 处理 Rails 2.1.x 中的 RoutingError 的最佳方法?

    我正在使用Rails 2 1 中的routing rb 代码 并尝试让它达到这样的程度 我可以对找不到合适路径时抛出的RoutingError 异常执行一些有用的操作 这是一个有点棘手的问题 因为有一些 URL 类别纯粹是糟糕的 azenv
  • rake cucumber 和 rake spec 始终使用“开发”环境

    我运行 Cucumber 和 RSpec 测试的 rake 任务始终使用我的development环境 以下是相关的配置文件 RAILS ROOT config environments cucumber rb Edit at your o
  • 如何将枚举作为字符串存储到rails中的数据库中

    如何在 ruby 中创建迁移 其中默认值是字符串而不是整数 我想将枚举存储到数据库中 但我不想将其存储为整数 因为这样对于另一个应用程序来说没有意义想要使用同一张桌子 我该怎么做default female 代替default 0 clas

随机推荐

  • 带参数的 ASP.NET ODBC 查询

    请帮助我 我不知道以下代码有什么问题 OdbcConnection conn new OdbcConnection connString String query INSERT INTO customer custId custName c
  • Python 使用 euc-kr 编码以意想不到的方式对(韩语)字符进行编码(编解码器、编码模块)

    我尝试在 python 中读取一些以 euc kr 编码的韩语文本文件 但出现了一些错误 检查后encodings使用模块一段时间后 我了解到该模块以看似非常奇怪的方式对韩语字符进行编码 让我举个例子 韩国文字 这是一个很少使用的字符 但我
  • 在 main() 中为 SerialPort 添加事件处理程序

    我尝试将事件处理程序订阅到数据接收事件 似乎我无法指定事件处理函数名称 我不明白为什么myComPort DataReceived new SerialDataReceivedEventHandler comPort DataReceive
  • 规范的 HTTP POST 代码?

    我见过很多发送 http post 的实现 并且不可否认 我并不完全理解底层细节以了解需要什么 在 C NET 3 5 中发送 HTTP POST 的简洁 正确 规范代码是什么 我想要一个通用方法 例如 public string Send
  • .net MAUI c# 后台任务ContinueWith和通知事件

    编辑 已解决 见下文 编辑 这是一个新手问题 我只是深入研究 C 和异步 为什么我想要 单击按钮 按顺序运行多个任务 但在后台线程中一个接一个地运行 如果可能的话 正在运行的任务应该通知它们的进度 现在我可以单击按钮并启动任务链 但在完成事
  • pandas 正则表达式从第一次出现的字符开始向前和向后查看

    我有像下面这样的Python字符串 1234 4534 41247612 2462184 2131 GHI xlsx 1234 4534 sfhaksj DHJKhd hJD 41247612 2462184 2131 PQRST GHI
  • Sharp JS 依赖性破坏了 Elastic Beanstalk 上的 Express Server

    我觉得这毫无用处 因为我的难题已在多个不同的线程中讨论过 但没有任何效果 我有一个 ExpressJS 节点服务器部署到 AWS Elastic Beanstalk 当我几周前第一次尝试部署时 我无法让它运行 直到我最终意识到我的许多依赖项
  • DEP0600:部署失败。 XmlException - '.'(十六进制值 0x00)是无效字符

    MS VS2017 微软 Visual Studio 2017 DEP0600 部署失败 XmlException 十六进制值 0x00 是无效字符 编辑开始 解决方案可能就在附近 请保留建议一天 在 回复下面的评论 我已将原来的VS201
  • Firebase 将匿名用户帐户转换为永久帐户错误

    使用 Firebase for web 我可以成功创建匿名用户 我还可以创建一个新的电子邮件 密码用户 但是当尝试将匿名用户转换为电子邮件 密码用户时 我收到错误 auth provider already linked User can
  • C#:设置任意维度数组中的所有值

    我正在寻找一种将多维数组中的每个值设置为单个值的方法 问题是维数在编译时是未知的 它可能是一维的 也可能是 4 维的 自从foreach不允许你设定价值观 我可以实现这一目标的一种方法是什么 非常感谢 虽然这个问题表面上看起来很简单 但实际
  • sqlite - 查找可以由一组成分制成的食谱

    现在我在ios应用程序中使用sqlite 我希望能够搜索可以从成分列表中制作的食谱 即作为所提供成分的子集的食谱 例如 Recipe 1 A B C Recipe 2 A B Recipe 3 C D Recipe 4 A Recipe 5
  • 恢复 Vim 备份

    Vim 的文件备份系统刚刚保存了我众所周知的 但我有一个问题 我有 vim 保存备份到 vim backups 为了恢复它们 我进入该目录并将所需的文件 按日期排序 复制回项目文件夹中的必要目录 很简单 只有 5 个文件 然而 令我惊讶的是
  • 在 iPhone 地图中显示当前位置的标题

    我是 iPhone 开发新手 我已经创建了地图应用程序 并显示了当前位置并将图钉放置到当前位置 现在我想在单击图钉时显示当前位置的标题和副标题 请帮帮我 Thanks 要显示标题和副标题 您添加到地图的注释对象必须响应 title and
  • Swing JButton Swing 的圆角没有实际 JButton 的功能 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 1 https i stack imgur com rZJjV png 我已经浏览过代码Swing 外观的 Java 文档 http
  • CSS 中区分:通过 Tab 键获得焦点和:通过单击获得焦点

    虽然我很确定我的问题的答案是 做不到 但我想确定一下并在这里问你们 我有一个相当典型的场景 我想通过我的网站启用选项卡 即使用键盘上的选项卡键 用户刚刚点击的项目应该通过 CSS 进行视觉标记 到目前为止 一切都很好 显然 这需要焦点伪类
  • 如何区分未传递的参数和传递错误值的参数?

    我试图找出在 Perl 中区分未传递参数和参数已作为 0 传递的情况的最佳方法 因为它们对我来说意味着不同的事情 通常我喜欢这种歧义 但在本例中我生成 SQL 因此我想用 NULL 替换未定义的参数 但将 0 保留为 0 所以这就是歧义 s
  • 查询 Jenkins 中最后成功的版本号并进行更改

    例子 32 fail 31 stable no change triggered by parent 30 stable with changes 29 fail 我想要返回一个查询30 到目前为止我得到的是 要查询最后一个稳定版本号 ht
  • 通过将函数应用于数据框的每一行来创建具有命名值的列表

    我试图通过将函数应用于数据帧的每一行来获取每个元素都有名称的列表 但无法获得正确的输出 假设这是我想要应用于每一行的函数 format setup name lt function m v s a lt list a paste m mac
  • 如何使用 TensorFlow 加载稀疏数据?

    有一个关于加载稀疏数据的小片段 但我不知道如何使用它 SparseTensors 不能很好地处理队列 如果您使用 SparseTensors 则必须在批处理后使用 tf parse example 解码字符串记录 而不是在批处理之前使用 t
  • Ruby 中的每个自动计数器?

    我想使用 for each 和计数器 i 0 for blah in blahs puts i to s blah i 1 end 有更好的方法吗 Note 我不知道是否blahs是一个数组或一个散列 但必须这样做blahs i 不会让它变