草庐IT

文件操作

全部标签

ruby - 如何从 url 获取文件扩展名?

ruby新手,我如何从url中获取文件扩展名:http://www.example.com/asdf123.gif此外,我将如何格式化此字符串,在C#中我会这样做:string.format("http://www.example.com/{0}.{1}",filename,extension); 最佳答案 使用File.extnameFile.extname("test.rb")#=>".rb"File.extname("a/b/d/test.rb")#=>".rb"File.extname("test")#=>""File.ex

ruby - 检查文件是否包含字符串

所以我在这里发现了这个问题,但我对输出以及如何使用if语句处理它有疑问。这就是我的,但它总是说它是真的,即使文件中不存在monitor这个词ifFile.readlines("testfile.txt").grep(/monitor/)dosomethingend它应该是=="nil"吗?我对ruby​​很陌生,不确定输出是什么。 最佳答案 我会使用:ifFile.readlines("testfile.txt").grep(/monitor/).any?或ifFile.readlines("testfile.txt").any?{

Ruby - UTF-8 文件编码

我们都知道“神奇”#encoding:utf-8行。但是我已经看到了其他几种替代符号,其中一些非常疯狂。你知道或使用过这些吗?是否有一些更通用的可接受规则?编辑:好的,显然有3种方法:#encoding:UTF-8#coding:UTF-8#-*-coding:UTF-8-*-(更多信息在http://blog.grayproductions.net/articles/ruby_19s_three_default_encodings) 最佳答案 不,没有“恰好3种方式”来指定“神奇评论”——它们的数量是无限的。根据JEG2,第一行包

ruby - 如何在不使用 Ruby 保存到磁盘的情况下生成 zip 文件?

我在内存中生成了许多PDF文件,我想将它们压缩成一个zip文件,然后再将其作为电子邮件附件发送。我看过Rubyzip,它不允许我在不将其保存到磁盘的情况下创建一个zip文件(也许我错了)。有什么方法可以在不创建临时文件的情况下压缩这些文件吗? 最佳答案 我有一个类似的问题,我使用ruby​​zipgem和stringio对象解决了这个问题。原来rubyzip提供了一个返回stringio对象的方法:ZipOutputStream.write_buffer。您可以使用put_next_entry创建zip文件结构并写入,完成后您可以倒

ruby - 如何检查 Ruby 文件是否为空?

例如,我有一个文本文件。在Ruby中检查文件是否为空的最佳方法是什么?File.size('test.rb')==0看起来很难看。 最佳答案 您可以使用zero?方法:File.zero?("test.rb") 关于ruby-如何检查Ruby文件是否为空?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/15982281/

ruby - 独立于 Rails 在 HAML 文件中使用布局

我的最终目标是创建几个静态HTML文件以传递给其他人。但对于我的工作流程,我希望将HAML作为基本源文件。这样做时,我希望至少在我这边结束这个过程。现在我有很多页面最终将共享一个通用布局,我想知道如何合并这些布局。这是我当前的代码:./编译.rb#!/usr/bin/envrubyrequire'rubygems'require'rake'require'haml'FileList.new('./src/*.html.haml').eachdo|filename|iffilename=~/([^\/]+)\.haml$/File.open($1,'w')do|f|f.writeHaml

ruby - Rails 3 - 限制资源路由中的操作格式

我在我的route定义了一个资源。resources:categories我的类别Controller中有以下内容:defshow@category=Category.find(params[:id])respond_todo|format|format.json{render:json=>@category}format.xml{render:xml=>@category}endendController操作适用于json和xml。但是我不希望Controller响应html格式的请求。我怎样才能只允许json和xml?这应该只发生在表演Action中。实现此目标的最佳方法是什么?还

ruby-on-rails - 向现有 Controller 添加操作 (Ruby on Rails)

我是RubyonRails的新手,我已经完成了BlogTutorial.我现在正尝试向Controller添加一个额外的操作,称为“开始”。defstartend我添加了一个View页面“app/views/posts/start.html.erb”,只包含简单的html。当我转到/posts/start时,出现以下错误。ActiveRecord::RecordNotFoundinPostsController#showCouldn'tfindPostwithID=start我了解错误,正在执行显示操作并且开始不是有效ID。为什么启动操作没有执行,是否缺少MVC架构或配置的某些部分?下

es笔记六之聚合操作之指标聚合

聚合操作,在es中的聚合可以分为大概四种聚合:bucketing(桶聚合)mertic(指标聚合)matrix(矩阵聚合)pipeline(管道聚合)bucket类似于分类分组,按照某个key将符合条件的数据都放到该类别的组中mertic计算一组文档的相关值,比如最大,最小值matrix根据多个key从文档中提取值生成矩阵,这个操作不支持脚本(script)pipeline将其他聚合的结果再次聚合输出聚合是支持套娃(嵌套)操作的,你可以在聚合的结果上接着进行聚合操作,es是不限制聚合的深度的。本篇笔记目录如下:指标聚合的基本结构平均值聚合去重统计聚合统计汇总最大值、最小值聚合百分位统计百分位排

ruby - 在 gem 中放置/访问配置文件的位置?

我正在编写我的第一个gem,我希望用户通过config.yml文件检索和设置特定选项。这个文件应该放在我的gem文件结构中的什么地方,以及在安装我的gem时有人如何修改这个文件?我猜他们可以在安装gem时传入特定选项,并且可以将这些选项映射到config.yml文件,但这怎么可能呢?此外,通过YAML.load_file检索文件的最佳方式是什么?我看过Ryan关于通过Bundler创建gem的railcasts,但他没有涉及这个主题。 最佳答案 我开始这个有点晚了,但我会留下一个示例实现来说明我通常如何处理这个问题,以供将来引用。如