草庐IT

贪心算法——背包问题

全部标签

ruby - RSpec Git Bash Windows——缺少颜色?

我在Windows上使用GitBash来完成我的大部分Rails工作,每次我运行bundleexecrspecspec它都会提醒我“你必须geminstallwin32console才能使用Windows上的颜色”,然后以纯黑色和白色运行RSpec。但是我确实安装了win32console,当我在列表中运行gemlist时,它有win32console(1.3.0x86-mingw32)。RSpec工作正常,但我希望它有一些颜色。我用谷歌搜索了这个并找到了多种解决方案,但似乎没有一个适合我。有人可以写出在GitBashforWindows上使用RSpec获取颜色的“循序渐进”方法吗?

ruby - rake 中止!安装 Octopress 的问题

我正在尝试在我的Windows上安装Octopress。根据他们关于website的教程.但是当我输入命令时rakeinstall它给了我以下错误C:\DocumentsandSettings\admin\octopress>rakeinstallrakeaborted!Youhavealreadyactivatedrake0.9.2.2,butyourGemfilerequiresrake0.9.2.Usingbundleexecmaysolvethis.(Seefulltracebyrunningtaskwith--trace)正如错误所说,我需要安装rake0.9.2我尝试使用以

ruby - 寻找产品和商店的最佳组合以最小化成本的算法

你好,Stackoverflow的人们,我经营一个网站,为用户寻找最便宜的书籍购买地点。这对于单本书来说很容易,但对于多本书来说,有时在一家商店购买一本书而在另一家商店购买另一本书会更便宜。目前我找到了销售用户列表中所有书籍的最便宜的商店,但我想要一个更智能的系统。这里有更多信息:一本书的价格对于一家商店来说是不变的。运费可能会有所不同,具体取决于书籍的数量或书籍的总值(value)。每个商店对象都可以获取一组书籍并返回运费。通常,并非每家书店都出售每一本书。不确定在这里链接到我的站点是否很酷,但它列在我的用户配置文件中。我希望能够找到最便宜的商店和书籍组合。我担心这需要一种蛮力方法-

ruby-on-rails - Ruby float 学 - Sum Calc 中的精度问题

大家早上好我在float学方面遇到了一些问题,完全迷失在“.to_f”、“*100”和“.0”中!我希望有人能帮助我解决我的具体问题,并准确解释他们的解决方案为何有效,以便我下次理解这一点。我的程序需要做两件事:对一组小数求和,确定它们的和是否正好为1.0确定1.0与数字总和之间的差值-将变量的值设置为使总和等于1.0的精确差值。例如:[0.28,0.55,0.17]->总和应为1.0,但我一直得到1.xxxxxx。我正在以下列方式实现总和:sum=array.inject(0.0){|sum,x|sum+(x*100)}/100我需要此功能的原因是我正在读取一组来自excel的小数。

ruby-on-rails - Rails 数据/基准变形问题

在我的Rails3.2.6应用程序中,我有一个模型表示有关小部件的数据集合。在我看来,此类的正确名称是WidgetData,复数形式,因为每个小部件有不止一项数据。如果我要求Rails为这个类生成一个表单:=form_for@widget_datado|f|...我得到一个错误ActionView::Template::Error(undefinedmethod'widget_datum_path'...。大概这是因为Rails数据/数据变形规则。我不确定如何最好地解决这个问题:我可以让Rails指示我的模型实际上应该是WidgetDatum。或者我可以以某种方式在这种特殊情况下禁用变

ruby-on-rails - JSON解码参数问题

我有一个使用postgresql的Rails4应用程序。我还有一个backbone.js应用程序,可将JSON推送到Rails4应用程序。这是我的Controller:defcreate@product=Product.new(ActiveSupport::JSON.decodeproduct_params)respond_todo|format|if@product.saveformat.json{renderaction:'show',status::created,location:@product}elseformat.json{renderjson:@product.erro

Ruby,将字符串与 UTF-8 字符进行比较时出现问题

我有这2个UTF-8字符串:a="N\u01b0\u0303"b="N\u1eef"它们看起来很不一样,但渲染后是一样的:irb(main):039:0>puts"#{a}-#{b}"Nữ-Nữa版本是我存储在数据库中的版本。b版本是来自浏览器的POST请求,我不知道为什么浏览器会发送不同的UTF8字符组合,而且这种情况并不总是发生,我不能'在我的开发环境中重现该问题,它发生在生产环境中并且占总请求的百分比。情况是我尝试比较它们,但它们返回false:irb(main):035:0>a==b=>false我尝试过不同的方法,例如强制编码:irb(main):022:0>c.force

ruby - 关于 Ruby 面向对象设计的问题

我正在考虑用Ruby编写一个CLIMonopoly游戏。这将是我在Ruby中完成的第一个大型项目。我在编程方面的大部分经验都是使用Clojure和Haskell等函数式编程语言。我非常了解面向对象,但我没有设计面向对象程序的经验。现在,这就是交易。在大富翁中,棋盘周围有很多空间。大多数空间是属性,而其他空间则做其他事情。为每个空间设置一个类(class)会很聪明吗?我正在考虑拥有一个所有其他空间都继承自的Space类,并拥有一个从Space继承的Property类,然后为从Property继承的每个属性创建一个类。这将意味着很多类,这让我相信这是一种糟糕的方式来做我想做的事情。我还打算

ruby-on-rails - EventMachine 和 Ruby 线程——这里到底发生了什么?

我们将Rails和EventMachine一起使用,当与Passenger一起使用该组合时,需要进行一些非常具体的设置。经过大量的试验和错误,我让EventMachine初始化工作得很好,但我想更好地理解代码。正如您在下面的代码片段中看到的那样,我们的初始化程序会检查乘客,然后在重新启动EventMachine之前检查它是否是fork进程。ifdefined?(PhusionPassenger)PhusionPassenger.on_event(:starting_worker_process)do|forked|#forpassenger,weneedtoavoidorphanedt

ruby - 从 Ruby 中的排序数组创建嵌套哈希——递归 group_by

我有一个对象数组,这些对象已根据这些对象的几个属性进行了排序。按照优先顺序,这些属性是foo、bar和baz。这意味着对象首先按foo排序;然后具有相同foo值的子序列按bar排序;然后具有相同foo和bar值的那些按baz排序。我想将其转换为反射(reflect)该分组的嵌套哈希。基本上我正在寻找递归Enumerable#group_by。键是foo、bar和baz的值;这些值将是对象的子哈希或数组。这是一个例子:[obj1,obj2,...objn].group_by_recursive(:foo,:bar,:baz)#=>{foo_val_1=>{bar_val_1=>{baz_