草庐IT

images_array

全部标签

ruby - ruby 中的最后一个索引是否有等效的 Array#find_index ?

Array#find_index允许您找到第一个项目的索引等于一个对象,或者使传递给它的block评估为真Array#rindex可以让您找到等于object的最后一项的索引,但是有没有什么可以让您找到的索引使block传递给它的最后一项返回true?否则,我是否应该做类似的事情last_index=array.length-1-array.reverse.find_index{|item|item.is_wanted?} 最佳答案 在Ruby1.9.2中Array#rindex接受block:http://apidock.com/

ruby-on-rails - Array.count with block 不返回正确答案

我有一个从数据库调用创建的赋值对象数组:@assignments=@player.assignments我想用这个来计算它们:@assignments.count{|x|x.sets==0.0}这应该计算0.0组的作业数。但是,这总是返回@assignments中的对象总数。我查过了@assignments.each{|x|putsx.sets==0.0}并非在所有情况下都返回true。有什么线索吗?编辑>@assignments.map(&:sets)=>[35.0,120.0,0.0,0.0,0.0,0.0,0.0,12.0,75.0,0.0,0.0,0.0,0.0]

arrays - 从数组中删除并返回 Ruby 中删除的元素

如何从数组中删除一些元素并选择它们?例如:classFoodefinitialize@a=[1,2,3,4,5,6,7,8,9]enddefget_areturn@aendendfoo=Foo.newb=foo.get_a.sth{|e|e[1,2,3]pfoo.get_a#=>[4,5,6,7,8,9,10]我可以用什么代替foo.get_a.sth? 最佳答案 如果不需要保留a的对象id:a=[1,2,3,4,5,6,7,8,9,10]b,a=a.partition{|e|e[1,2,3]a#=>[4,5,6,7,8,9,10]

Ruby 方法 Array#<< 不更新散列中的数组

灵感来自HowcanImarshalahashwitharrays?我想知道是什么原因Array#在以下代码中将无法正常工作:h=Hash.new{Array.new}#=>{}h[0]#=>[]h[0]["a"]h[0]#=>[]#why?!h[0]+=['a']#=>["a"]h[0]#=>["a"]#asexpected这是否与的事实有关?就地更改数组,而Array#+创建一个新实例? 最佳答案 如果您创建一个Hash使用Hash.new的block形式,每次您尝试访问实际上不存在的元素时,都会执行该block。那么,让我们看

arrays - 过滤以从数组中排除元素

尝试从数组中过滤一些条目。不能保证它们在master数组中,所以我正在通过迭代进行测试。total=['alpha','bravo','charlie','delta','echo']hide=['charlie','echo']pick=[]foriintotalif!hide.include?(i)putsipick.push(i)endendputspick这是行不通的。有没有更好的方法来提供这种过滤器? 最佳答案 Ruby允许您在两个数组上使用公共(public)实例方法来获取它们的相交或互斥元素:a1=['alpha','

ruby - 在 Ruby 中评估许多 bool 表达式,如 Array#join

在Ruby中,您可以使用Array#join使用可选的分隔符简单地将多个字符串连接在一起。["a","b","c"].join#=>"abc"["a","b","c"].join("-")#=>"a-b-c"我想知道是否有很好的语法糖可以用一堆bool表达式做类似的事情。例如,我需要将一堆表达式&&放在一起。但是,将使用哪些表达式由用户输入决定。所以与其做一堆cumulative_value&&=expression[:a]ifuser[:input][:a]我想先根据输入收集所有的表达式,然后&&一举将它们全部收集起来。像这样的东西:be1=x>ybe2=Proc.new{|stri

ruby - Array bang 方法的行为

一些bang版本的Array方法像compact!,reject!,flatten!,uniq!如果未进行任何更改,则返回nil:[1,[2]].flatten!#=>[1,2][1,2].flatten!#=>nil[1,[2]].flatten#=>[1,2][1,2].flatten#=>[1,2][1,2,nil].compact!#=>[1,2][1,2].compact!#=>nil[1,2,nil].compact#=>[1,2][1,2].compact#=>[1,2]如果他们这样做,一定是有原因的。有什么想法吗? 最佳答案

ruby - 为什么 Array.reverse_each 比 Array.reverse.each 快

我几乎不使用reverse_each方法,而是在需要向后遍历数组时调用reverse.each。所以我只是做了一些基准测试,显然reverse_each比reverse.each快得多。这是因为在使用reverse.each时,在遍历反向数组之前创建反向数组有时间因素吗?然而,在我的示例(下面)中,对于大小为4的数组,TIME(reverse)+TIME(each)-TIME(reverse.each)~1.2秒。这一次无论数组的大小如何,差异或多或少都保持稳定。我已经测试了多达100个元素。是什么导致了这一秒的差异?require'benchmark'number=10000000a

ruby-on-rails - rails : Why images are not showing in my rails basic app

我的index.html.erb代码-Listingproducts'list_image')%>图像在app\assets\images下..但是前端没有显示静态图像。当我Firebug它时,我相信图像标签是正确形成的...让我知道我在这部分缺少什么。截图-图片也到位了-让我知道我做错了什么,我该如何解决。编辑github.com/swapnesh/depot请告诉我为什么它在我的案例中不起作用。尽管更改/images/product1.jpgTo/assets/product1.jpg使其正常工作。 最佳答案 如果您正在使用As

ruby-on-rails - Rails 没有在 app/assets/images 文件夹中预编译图像?

我的app/assets/images文件夹中有一些图像(svg)。根据Rails指南,assets文件夹中的所有文件都应该自动预编译。但是,当我使用image_tag('filename')引用图像时,它显示了一个Sprockets::Rails::Helper::AssetNotPrecompiled错误Asset未声明为在生产中预编译。它告诉我手动声明要预编译的文件,但为什么必须这样做?最重要的是,当我在开发中做所有事情时,为什么它会关心生产环境? 最佳答案 如果您在开发中启动服务器后添加了图像,请重新启动服务器。然后Spro