Tag: 比较

测量两个字符串之间相似性的有效方法是什么? (Levenshtein距离使得堆栈太深)

所以,我从这开始: http : //en.wikibooks.org/wiki/Algorithm_Implementation/Strings/Levenshtein_distance#Ruby 这适用于非常小的字符串。 但是,我的字符串长度超过10,000个字符 – 由于Levenshtein距离是递归的,这导致我的Ruby on Rails应用程序中的堆栈太深错误。 那么,是否有另一种可能较少的堆栈密集方法来查找两个大字符串之间的相似性? 或者,我需要一种方法来使堆栈具有更大的尺寸。 (我不认为这是解决问题的正确方法)

是否有基准比较django,rails和PHP框架的相应内存使用情况?

我必须在具有有限RAM(1 GB,无交换)的嵌入式服务器上运行具有许多服务的Web服务器。 最多可有100个用户。 我将提供诸如论坛,小游戏(javascript或flash)等服务。 我的团队非常了解Ruby on Rails,但我有点担心Rails的内存使用情况。 我真的不想在这里开始一个巨魔,但我想知道是否有任何比较Rails,Django,CakePHP或任何其他PHP框架的严肃(即记录)基准? 你能指点基准还是给我你对Rails内存使用情况的看法? 请不要拖钓。

CakePHP与Ruby on Rails有何不同?

不久之后,我几乎从未听过CakePHP这个词而没有听到Rails这个词。 这两个框架是否主要基于它们如何遵循MVC模型或者是否具有其他重要的相似性/差异? 对我来说,Rails的主要吸引力之一就是使用Ajax是多么容易。 CakePHP也是如此吗?

比较包含重复的数组元素

我试图看一个数组是否包含另一个数组的每个元素。 另外,我想说明重复项。 例如: array = [1, 2, 3, 3, “abc”, “de”, “f”] 数组包含[1,2,3,3]但不包含[2,2,“abc”] – 太多2的 我已经尝试了以下但显然没有考虑到欺骗。 other_arrays.each { |i| array.include? i }

在Ruby中使用>(大于号)比较两个字符串?

我在一个正在研究的项目中遇到了一段代码,看起来有些可怕。 它应该在两个数字之间显示+/- delta,但它使用>来比较数字串而不是数字。 我假设代码目前正在按预期工作,所以我只想了解Ruby在这种情况下如何比较这些字符串。 以下是替换变量的示例: if ‘55.59(100)’ > ‘56.46(101)’ delta = ‘+’ else delta = ‘-‘ end

在Ruby中比较数组的最有效方法

下面的代码应该找到arr_1中缺少的arr_2中的arr_2 。 def compare_1 (arr_1, arr_2) output = [] temp = arr_2.each_with_object(Hash.new(0)) { |val, hsh| hsh[val] = 0 } arr_1.each do |element| if !temp.has_key? (element) output << element end end puts output end def compare_2 (arr_1, arr_2) out = [] arr_1.each do |num| if (!arr_2.include?(num)) out << num end end puts out end 根据’基准’,第一种方法更快,大概是通过使用哈希。 有没有更简洁的方法来写这些或实现这一点? […]

测试ActiveSupport :: TimeWithZone对象是否相等

有人可以解释d1如何大于d2? 他们是相同的日期(或至少他们看起来如何)。 Loading development environment (Rails 3.0.8) ruby-1.9.2-p180 :001 > d1 = Event.first.updated_at => Thu, 22 Sep 2011 02:24:28 PDT -07:00 ruby-1.9.2-p180 :002 > d2 = Time.zone.parse(“2011-09-22T02:24:28-07:00”) => Thu, 22 Sep 2011 02:24:28 PDT -07:00 ruby-1.9.2-p180 :003 > d1.class => ActiveSupport::TimeWithZone ruby-1.9.2-p180 :004 > d2.class => ActiveSupport::TimeWithZone ruby-1.9.2-p180 :005 > d1 > d2 => true […]

将String转换为字符串数组的最快方法

该脚本必须validation大量IP中是否存在一个预定义的IP。 目前我的代码function就像这样(说“ips”是我的IP数组,“ip”是预定义的ip) ips.each do |existsip| if ip == existsip puts “ip exists” return 1 end end puts “ip doesn’t exist” return nil 有没有更快的方法来做同样的事情? 编辑:我可能错误地表达了自己。 我可以做array.include吗? 但我想知道的是:array.include? 能给我最快结果的方法吗?

从float转换的Ruby Time对象不等于orignial Time对象

time = Time.now fvalue = time.to_f return time == Time.at(fvalue) 有人可以在这里解释为什么上面的表达式返回false。 如何从float创建一个与原始时间变量匹配的新Time对象? 谢谢

Rails,Padrino和Sinatra适用于构建预付费移动服务

我正在开发Mobile / VOIP域中的应用程序。 这对我来说真的是个灰色地带。 以下是有关该应用程序的一些细节: 这基本上就像是自动充值/预付费移动服务 与我之前编写的以前的ERP应用程序相比,它具有中等复杂度的逻辑。 响应中的视图部分将是纯文本,将作为SMS / USSD拉到用户和语音XML(VXML)发送,将作为IVR响应发送给用户。 路由逻辑非常简单,因为对于每种类型的回复,只有两到三个URL很重要。 约束: 我们拥有内置于Perl的核心系统(它是一个为许多其他VOIP /移动相关服务提供服务的遗留系统),以及一个跟踪盈利和亏损的会计系统,但它已经变得非常复杂。 因此我们决定单独制作此应用程序,并仅使用SMS / USSD和IVR。 但是,该应用程序的每个用户必须是核心系统的注册用户才能进行会计核算; 这可以通过API调用轻松实现。 现在,为了发送IVR和USSD的回复/响应,我们需要在提供这些function的供应商处部署应用程序。 但我们不希望总是需要登录到他们的服务器以获取日常报告和会计资料,因为对于我们的每个客户,我们将为USSD / SMS / IVR系统提供不同的流程。 因此,我们决定将这个新应用程序分成两个子应用程序。 一个应用程序将处理带有USSD / SMS / IVR域的USER接口,并将部署在供应商的服务器上,我们称之为“clientware”。 第二个应用程序将处理所有核心业务逻辑和报告系统,并将部署在我们的服务器上,我们将拥有完全访问权限。 我们称之为“中间件”。 应用程序的基本流程: 用户拨打短代码。 在我们的供应商服务器上调用登陆,其中clientware应用程序将处理请求并将其作为用户注册在其本地数据库中。 Clientware还将对中间件进行API调用。 在那里注册该用户以及核心业务逻辑及时自动充值等。 然后,中间件还将对核心系统进行API调用,以便在那里注册该用户以用于记帐目的。 现在,将有许多此类客户端应用程序与单个中间件应用程序交互。 我们决定用Ruby构建这些应用程序。 我会遵循RESTful架构,因为涉及到大量的API调用。 在这三个框架中, Rails , Padrino或Sinatra是否特别适合这个项目? 如果可能的话,我将很感激地比较详细的相关利弊。