我想用Ruby以最快、最简单、最惯用的方式读取文件的第一行.最好的方法是什么?

(特别是:我想从我最新的Capistrano deployed Rails目录中的修订文件中读取git commit UUID,然后将其输出到我的标记中.这将让我在http上一目了然地看到我的服务器部署了哪个版本.如果有完全不同的更好的方法,请告诉我.)

推荐答案

这将只读取一行,并确保文件在读取后立即正确关闭.

strVar = File.open('somefile.txt') {|f| f.readline}
# or, in Ruby 1.8.7 and above: #
strVar = File.open('somefile.txt', &:readline)
puts strVar

Ruby-on-rails相关问答推荐

为什么在使用 Ruby on Rails 时我的徽标没有出现在 Bootstrap 导航栏中?

Rails:has_many 通过不返回结果

如何在测试期间为 Rails 应用程序启用 Rails.cache 会话对象

Rails 3 的data-method='delete'如何优雅地降级?

rails 3.2 迁移无法在更改方法中向 create_table 添加索引

如何从 Rails 路由中删除控制器名称?

使用 javascript 提交 Rails 远程表单

如何在 Ruby on Rails 中的 cookie 上设置 HttpOnly 标志

从子类中的重载方法调用基类方法

.increment vs += 1

在 Rails 中创建随机 DateTime 的最佳方法

使用 AJAX 向 Rails 发送 Authenticity Token 的正确方法

Groovy/Grails :: Ruby/Rails :: 2011 框架状态

在 rails 3 中批量插入

Rails 控制台中手动更新属性值的验证问题

Rails SQL 正则表达式

在范围内传递参数

如何从另一个调用 Capistrano 任务?

如何在 Rails 4 中测试控制器关注点

没有UTC的Rails 3默认日期时间格式