草庐IT

查询元素

全部标签

ruby - 如何将数组的每个元素大写?

如何将元素数组转换为大写?预期输出为:["Monday","Tuesday","Wednesday","Thursday","Friday"]=>["MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY"]以下无效,将它们保留为小写。Day.weekday.map(&:name).each{|the_day|the_day.upcase}=>["Monday","Tuesday","Wednesday","Thursday","Friday"] 最佳答案 返回一个新数组如果你想返回一个大写

ruby-on-rails - 在 rails 中过滤 ActiveRecord 查询

我习惯了Django,在那里你可以在查询集上运行多个过滤方法,即Item.all.filter(foo="bar").filter(something="else")。然而,这在Rails中并不容易。Item.find(:all,:conditions=>["foo=:foo",{:foo=bar}])返回一个数组,这意味着这将不起作用:Item.find(:all,:conditions=>["foo=:foo",{:foo='bar'}]).find(:all,:conditions=>["something=:something",{:something='else'}])所以我

ruby - 如何从 Ruby 中的哈希数组中获取唯一元素?

我有一个散列数组,我想要其中的唯一值。调用Array.uniq没有给我预期的结果。a=[{:a=>1},{:a=>2},{:a=>1}]a.uniq#=>[{:a=>1},{:a=>2},{:a=>1}]我期望的地方:[{:a=>1},{:a=>2}]在网上四处搜索,我没有找到令我满意的解决方案。人们建议重新定义Hash.eql?和Hash.hash,因为这就是Array.uniq正在查询的内容。编辑:我在现实世界中遇到的地方,哈希值稍微复杂一些。它们是具有多个字段的解析JSON的结果,其中一些值也是散列值。我有一系列我想过滤掉唯一值的结果。我不喜欢重新定义Hash.eql?和Hash

ruby-on-rails - 如何在 Rails 控制台中查看 MySQL 查询

这个问题在这里已经有了答案:HowtoshowSQLqueriesrunintheRailsconsole?(8个答案)关闭8年前。有没有办法在Rails控制台中查看从ActiveRecord触发了哪些MySQL查询?

ruby - 如何在 Ruby 中选择给定范围内的数组元素?

我有一个包含500个元素的数组。我知道我可以通过执行.first(100)选择前100个,我的问题是如何选择100到200之间的元素? 最佳答案 您可以在数组下标中使用范围:arr[100..200] 关于ruby-如何在Ruby中选择给定范围内的数组元素?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/3525351/

ruby - 如何对 Ruby 数组中的相同元素进行分组

我有以下内容:array=["John","Mike","Bob","Mike","Bob"]我想得到输出:[["Mike","Mike"],["Bob","Bob"],["John"]] 最佳答案 这里是如何在Ruby中做到这一点。array.group_by{|x|x}.values 关于ruby-如何对Ruby数组中的相同元素进行分组,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questi

ruby-on-rails - 在没有额外的 sql 查询的情况下过滤 activerecord 关系?

如何在不执行额外查询的情况下过滤AR查询的结果?例如u=User.where(name:"bob",age:[10,20])#1stselectquerytodbu.class#ActiveRecord::Relationtens=u.where(age:10)#2ndselectquerytodb我不希望第二个查询调用数据库,而是过滤在u(第一个查询)中检索到的结果。 最佳答案 ActiveRecord:Relation仅在访问其元素时查询数据库。因此,您拥有的序列根本不会调用数据库,除非您编写类似u.first或tens.fir

ruby - 如何更改数组元素的位置?

我有一个关于如何更改数组元素的索引的问题,这样它就不会出现在第7个位置,而是出现在第2个位置...是否有处理此问题的函数? 最佳答案 没有比这更简单的了:array.insert(2,array.delete_at(7)) 关于ruby-如何更改数组元素的位置?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/4733925/

ruby - 如何替换数组的元素?

如何替换数组中的元素?a=[1,2,3,4,5]我需要将5替换为[11,22,33,44].flatten!所以a现在变成了a=[1,2,3,4,11,22,33,44] 最佳答案 不确定您是否要替换特定值,但这可行:a=[1,2,3,4,5]b=[11,22,33,44]a.map!{|x|x==5?b:x}.flatten!这遍历a的值,当它找到5的值时,它用数组b替换该值,然后将数组展平为一个数组。 关于ruby-如何替换数组的元素?,我们在StackOverflow上找到一个类似

ruby - 从 Ruby 中的数组数组中的一列中选择所有元素?

我有一个数组:arr=[["Foo1","Bar1","1","W"],["Foo2","Bar2","2","X"],["Foo3","Bar3","3","Y"],["Foo4","Bar4","4","Z"]]我想要一个仅包含每个数组的第三列的数组:res=["1","2","3","4"]我该怎么做?我想输入如下内容:arr[][2]但考虑到更像Ruby,我尝试了:arr.select{|r|r[2]}但这会返回整行。 最佳答案 你想要arr.map{|row|行[2]}arr=[["Foo1","Bar1","1","W"