Tag: ruby

从数组Ruby中删除元素

假设我正在尝试从数组a = [1,1,1,2,2,3]移除元素。 如果我执行以下操作: b = a – [1,3] 然后我会得到: b = [2,2] 不过,我想要的结果是 b = [1,1,2,2] 即我只删除减去向量中的每个元素的一个实例不是所有的情况下。 在Ruby中有一个简单的方法来做到这一点?

在类体中声明的Ruby方法调用

我刚刚开始学习Ruby的ruby,我遇到如下代码: class Post < ActiveRecord::Base validates_presence_of :title belongs_to :user end 在类体内有两个方法调用。 我很难find任何ruby文档,这些文档描述了如何从一个类的主体(但不包括任何方法)调用方法调用。 我所有的书籍,只描述如何定义类和实例方法,以及如何从其他方法中调用它们。 我所拥有的问题是:这些方法如何以及何时被调用? 他们如何定义? 他们是在一些活跃的logging模块中定义的混合?

' – %>'(减号)在ERb序列的末尾

在ERb序列的末尾使用' – '(减号)是什么意思? 例: <% 3.times do -%> FooBar<br /> <% end -%> Sometext 无论是否使用“ – ” ,浏览器都会呈现相同的输出。 谢谢,Aplha。

活动logging – 查找在今天之前被创build的logging

我想获取created_at字段小于今天(date)的所有logging。 有什么像: MyTable.find_by_created_at(< 2.days.ago)

如何configurationCapistrano从本地Git仓库部署?

我需要对下面的deploy.rb文件进行哪些更改才能使其从本地git库中部署我的应用程序? 如果我不能从本地回购部署,我可以让Capistrano使用工作拷贝吗? set :application, "my_app" set :repository, "." set :local_repository, "file:///path/to/application/.git" set :deploy_to, "/data/www/apps/#{application}" set :deploy_via, :copy set :copy_cache, true set :user, "dane" set :use_sudo, false set :scm, :git # Should I change this to :none set :branch, "master"

如何扁平化一个数组的数组 – 但不是所有的方式

什么是转换这个最好的方法 [[["Club three Team one", 7800], ["Club three Team two", 7801]], [], [["Club four Team one", 7807], ["Club four Team two", 7808]], []] 成 [["Club three Team one", 7800], ["Club three Team two", 7801], ["Club four Team one", 7807], ["Club four Team two", 7808]] 在ruby? 拼合转换这一路下来 ["Club three Team one", 7303, "Club three Team two", […]

在ruby中需要一个文件在同一个目录下吗?

是否有一个简短的方法来要求位于同一目录(作为脚本执行)的文件? require File.expand_path(File.dirname(__FILE__) + '/some_other_script') 我读了require "my_script"并require "./my_script"实际上将加载脚本两次(ruby不会认识到,它实际上是相同的脚本),这就是为什么build议File.expand_path的原因:如果它被使用每次脚本是必需的,那么它只会被加载一次。 对我来说,像Ruby这样简洁的语言似乎没有一个简短的解决scheme似乎很奇怪。 例如,Python只是有这个: import .some_other_module_in_the_same_directory 我想我可以猴子补丁require …但这只是邪恶的! 😉

在Ruby中获取当前目录的父目录

我明白我可以通过获取当前目录 $CurrentDir = Dir.pwd 那当前目录的父目录呢?

比较ruby串或数组

如何在Ruby中做两个string或数组的差异?

如何在Ruby中分块数组

在Ruby 1.8.6中,我有一个数组,例如100,000个用户ID,每个ID都是一个int。 我想要在这些用户标识上执行一段代码,但是我想以大块的方式执行。 例如,我想每次处理它们100个。 我怎样才能轻松实现这个尽可能简单? 我可以做如下的事情,但可能有一个更简单的方法: a = Array.new userids.each { |userid| a << userid if a.length == 100 # Process chunk a = Array.new end } unless a.empty? # Process chunk end