使用 Ruby 读取文件的上一行

2024-03-05

如何读取文件的前一行。与 IO.gets 相反。我最初想将 IO.lineno 设置为我想要读取的行号,但这并没有按预期工作。您实际上如何阅读前一行?


一个简单的方法是记住您读过的上一行:

prev = nil
File.foreach('_vimrc') do |line|
  p [line, prev]  # do whatever processing here
  prev = line
end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Ruby 读取文件的上一行 的相关文章

  • 覆盖 Rails ActiveRecord 销毁行为的最佳方法是什么?

    我有一个应用程序 我想在其中覆盖许多模型的销毁行为 用例是用户可能有删除特定记录的合法需要 但实际上从数据库中删除该行会破坏引用完整性 从而影响其他相关模型 例如 系统的用户可能想要删除不再与其有业务往来的客户 但需要维护与该客户的交易 看
  • 在 Ruby 中从一个数组减去另一个数组

    我有两个任务数组 创建和分配 我想从创建的任务数组中删除所有分配的任务 这是我的工作代码 但很混乱 assigned tasks user assigned tasks created tasks user created tasks Do
  • Ruby 元编程,RSpec 的“应该”如何工作?

    我正在阅读 RSpec 并试图弄清楚 RSpec 的 应该 是如何实现的 有人可以帮忙解释一下这个函数的元性质是如何工作的吗 代码位于此处 http github com dchelimsky rspec blob master lib s
  • 测试驱动开发 - 我应该测试数据库列和索引吗?

    我是 TDD 新手 我发现shouldagem 能够测试数据库实体的列是否存在以及测试其索引 但是否有必要在我的测试套件中包含列和索引的测试 我是否需要担心在开发过程中可能会删除任何列和索引 不要测试数据库列 这只是测试实施 不要测试实现
  • Rails 应用程序中的持久 TCP 连接

    我有一个在服务器上运行的第三方应用程序 它对客户端进行身份验证并返回响应 我的问题是 对于我收到 Rails 应用程序的每个请求 我都需要建立 TCP 连接并获取数据 是否可以有一个持久连接 以便我可以减少建立连接的开销 我希望你使用的是
  • Ruby 反向柯里化:这可能吗?

    关于 Ruby 1 9 x 中的柯里化 我一直在某些地方使用它 并且可以像基本上支持 proc 参数的默认参数一样进行翻译 p proc x y z x y z p curry 1 gt returns a lambda p curry 1
  • 处理中渲染极地带面体时出现问题

    我最近一直在研究 Zohedrons 和Rob Bell http zomadic com 做出了美丽的 我玩了免费的极地带面体 Sketchup 插件 http zomebuilder com 并考虑使用几何图形加工 http proce
  • RSpec 抛出分段错误

    有时我的测试套件会无缘无故地抛出分段错误 这是输出 Users Test rvm gems ruby 1 9 3 p392 gems activerecord 3 2 9 lib active record relation query m
  • Rails-自定义删除前确认对话框的视图

    要删除 Rails 中的记录 我使用此代码 result of which I get dialog box like this But I wants this dialog box to look like this 有没有办法自定义确
  • 使用 Ruby 验证 Jenkins 插件表单

    我正在用 Ruby 开发一个 Jenkins 插件 您应该能够配置连接到服务器的每个节点 以便在该节点失去与主服务器的连接时将电子邮件发送到指定的地址 EmailNodeProperty添加一个字段来输入电子邮件地址 Save an ema
  • rdstate()返回值是什么意思?

    istream Read istream is std string buf while is gt gt buf cout lt lt is eofbit lt lt lt lt is failbit lt lt lt lt is bad
  • Ruby 守护进程,用于使临时 Ruby 实例的对象保持活动状态

    Ruby 是否提供了一种在不同运行的 Ruby 进程之间共享变量 更重要的是 类对象和我认为对此有用的任何其他数据抽象 的机制 例如 如果我有一个类被实例化 初始化并仔细调整到某种状态 我希望该状态对我全天所有其他独立的 Ruby 和 Ir
  • `class_eval` 字符串中的变量范围是什么?

    我在用class eval编写要在当前类的上下文中执行的代码 在下面的代码中 我想添加一个用于属性值更改的计数器 class Class def attr count attr name attr name attr name to s a
  • 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
  • Ruby 中的 Set 是否始终保留插入顺序?

    即 Ruby 的 Set 相当于 Java 的 LinkedHashSet 吗 在 Ruby 1 9 中 yes 在 Ruby 1 8 中 可能不会 Set uses a Hash内部 https github com ruby ruby
  • 尝试使用 Rails 和 PostgreSQL 生成模型时,命令挂起且没有错误

    使用该命令时 rails generate model Event name string 什么也没发生 我必须按 CTRL c 我使用的版本是 红宝石 2 1 1p76 导轨4 1 0 PostgreSQL 9 3 4 Mac OS X
  • 被一个简单的正则表达式难住了

    我想看看字符串是否s包含正则表达式中的任何符号 下面的正则表达式可以正常工作rubular http rubular com s asd d s 但在 Ruby 1 9 2 中 它给出了以下错误消息 syntax error unexpec
  • 通过名称查找进程ID

    如何在 Ruby 中通过名称或完整命令行找到 pid 而不调用外部可执行文件 我正在将 SIGUSR2 发送到命令行包含的进程ruby job rb 我想在不打电话的情况下执行以下操作pgrep uid Process uid pid pg
  • Haskell 中的 print 是纯函数吗?

    Is print在 Haskell 中是纯函数 为什么或者为什么不 我认为不是 因为它并不总是返回与纯函数应返回的值相同的值 类型的值IO Int并不是真正的Int 它更像是一张纸 上面写着 嘿 Haskell 运行时 请生成一个Int如此

随机推荐

  • 使用 const 断言,如何从任意嵌套对象中提取文字类型?

    这个问题是后续问题this one https stackoverflow com q 76288737 6923555 其中我有一个深度为 2 的结构 const grandkids Karen Ava Alice Amelia Emma
  • 预约和行项目

    我正在构建一个管理应用程序来帮助管理我的移动汽车美容公司 希望还有其他公司 我正在努力弄清楚如何对某些数据进行建模 这个问题与我之前发布的问题相关 但我在下面转载了相关信息 数据库设计 谷歌应用引擎 https stackoverflow
  • 签名字段中的“锁定”字典是签名后签名损坏的原因

    在 PDFBox 2 x 中我把 Lock字典到签名字段 import org apache pdfbox cos COSDictionary import org apache pdfbox cos COSName import org
  • 三星 Galaxy Note 模拟器

    我正在尝试为 Samsung Galaxy Note 创建模拟器 但它不起作用 我尝试了以下配置 sdk r17 平台2 3 3 分辨率 1280x800 密度320 模拟器皮肤已上线 但它没有任何导航键 菜单 返回和主页键 也没有显示键盘
  • XQuery 3.0 相当于 xquery 1.0 版本中的 group by

    我有以下代码 并且我的 saxon jar 文件无法读取 xquery 3 0 for item in doc order xml item group by d item dept order by d return
  • iPad 上的最大沙箱大小是多少?

    我正在编写一个充当媒体播放器 视频和照片 的 iPad 应用程序 我知道应用程序有 2GB 大小限制 但这就是应用程序下载时的大小限制吗 或者在应用程序的整个生命周期中沙箱大小的限制 例如 如果我的小应用程序稍后将各种媒体文件下载到其沙箱中
  • logger.log 未记录到 alfresco.log

    我正在尝试在与 Alfresco 中的模板页面相对应的 javascript 文件中使用 logger log Hello 我设置了以下内容 在custom log4j properties中 覆盖log4j properties log4
  • 仅显示适合的项目数量,然后展开以紧密贴合

    我有一个容器 我想水平地容纳多个孩子 但我知道我的孩子数量比通常容纳的要多 只使用CSS 我如何只显示适合的项目 并将它们展开以紧密贴合 期望的结果
  • 为 Azure Api 管理 Git 存储库生成密码

    Azure Api 管理可以选择为集成 git 存储库创建有时限的密码 作为 VSTS 发布管理的一部分 我们希望将更改自动推送到此 git 存储库 我们不想每个月通过 Azure 门户创建一个新的 git 密码 发布者门户提供证书 htt
  • 无法使用 jquery 的单击事件处理程序来检测右键单击

    在尝试使用 jquery 检测鼠标右键单击时 我注意到单击事件处理程序似乎不会通过鼠标右键单击触发 而 mousedown 或 mouseup 事件处理程序则会触发 例如 右键单击测试 div 后 会出现以下警报 正在测试 test mou
  • 如何禁用 .htaccess 中的 mod_security 和 mod_security2

    我创建了一个 WordPress 插件 该插件很受欢迎 但我收到很多抱怨它不起作用 登录到许多用户的 WP 网站后 在询问管理员密码后 我注意到我无法轻松解决的最后一个问题是 mod security 和 mod security2 阻止了
  • load 在本地路径上工作,require 则不行

    装载者 rb puts gt This is the second file 加载演示 rb puts This is the first master program file load loadee rb puts And back a
  • Excel:按行内容对列进行排序

    这很难描述 我有一些专栏 比如说三个 10 20 20 20 22 24 24 24 26 我喜欢得到的是 10 XX XX 20 20 20 XX 22 XX 24 24 24 XX XX 26 其中 XX 是空单元格 有办法得到这个吗
  • python 计算列表中的元素数量

    我需要能够计算出列表中有多少个字符串 O top board None None None None None None None None None None None None None None None None None None
  • 使用服务的 DDD 实体

    我有一个应用程序 我试图使用至少一个名义上的 DDD 类型的域模型来构建 并且正在努力解决某个部分 我的实体有一些业务逻辑 这些逻辑使用我当前在某些域服务中拥有的一些财务计算和费率计算 以及我放入值对象中的一些常量值 我正在努力解决如何让实
  • 如何在不使用任何框架或库的情况下在屏幕上绘制图形?

    我想手动绘制图形 这意味着不使用任何库或框架 如 QT directX whindow h 就像向屏幕上的每个像素发出命令以在不同时间显示某种特定颜色 每个机构都会根据这些库或它们的名称提供教程 我想要的是制作我自己的 GUI 据我所知 这
  • 强制从外部页面刷新网页

    我有这样的情况 100 台计算机正在显示一个网页 我可以从后端更新此网页 我希望我的 100 台计算机上显示的网页能够自动更新 有没有办法在不轮询的情况下刷新 更新页面 最好的方法是外部页面可以强制页面重新加载 但我认为这是不可能的 Tha
  • 如何在 mariadb 中使用 -> 运算符查询 JSON 列

    我正在尝试获取时间表 将 json 列数据与 Laravel 项目中的以下代码进行比较 schedules Schedule where schedule with gt company person contact company per
  • Cassandra 3.10 debug.log 频繁包含“FailureDetector.java:457 - 忽略间隔时间...”

    我们的 Cassandra 3 10 集群之一的 debug log 文件经常出现类似于 FailureDetector java 457 忽略 的间隔时间 的消息 即使集群处于空闲状态 也会显示这些消息 我在这个 6 节点集群 两个数据中
  • 使用 Ruby 读取文件的上一行

    如何读取文件的前一行 与 IO gets 相反 我最初想将 IO lineno 设置为我想要读取的行号 但这并没有按预期工作 您实际上如何阅读前一行 一个简单的方法是记住您读过的上一行 prev nil File foreach vimrc