Tag: arrays

如何将带有JSON字符串的数组转换为JSON对象(ruby)

我有一个数组,其内容如下: [ [0] { “name” => “Mark”, “id” => “01”, “description” => “User”, }, [1] { “name” => “John”, “id” => “02”, “description” => “Developer”, } ] 注意:现在,Array的每个项都是一个哈希(不是字符串)。 也就是说,如果我puts myarray[0].class我得到hash作为回报。 我希望能够创建一个我可以作为object[i].field引用的object[i].field 。 例如,我希望能够通过调用object[0].name来获取“Mark”,或者通过调用object[1].description获取“Developer”。 这可能吗? 我试图利用.to_json方法对付我的数组,但它并不能完全满足我的需求。 谢谢。

为什么Array.reverse_each比Array.reverse.each更快

我几乎不使用reverse_each方法,而是在需要向后遍历数组时调用reverse.each 。 所以我只做了一些基准测试,显然reverse_each比reverse.each快得多。 这是因为在使用reverse.each时,在迭代数组之前有一个与创建反向数组相关的时间元素吗? 然而,在我的示例(下面)中,1000万次迭代TIME(reverse) + TIME(each) – TIME(reverse.each) ~ 1.2 seconds对于大小为4的数组。并且这个时间差或多或少保持稳定,而不管大小如何数组。 我已经测试了多达100个元素。 这一秒差异的原因是什么? require ‘benchmark’ number = 10000000 arr = (1..4).to_a Benchmark.bm(13) do |x| x.report(“reverse.each”) { number.times { arr.reverse.each {|x| x} } } x.report(“reverse_each”) { number.times { arr.reverse_each {|x| x} } } x.report(“reverse”) { number.times { arr.reverse } } x.report(“each”) { number.times { arr.each […]

从数组中删除空白元素

当我从轨道上保存多个ruby时,它似乎在前面添加了一个空白元素。 我该如何删除它? 该字段是selected_player。 {“utf8″=>”✓”, “authenticity_token”=>”H8W7qPBezubyeU0adnTGZ4oJqYErin1QNz5oK0QV6WY=”, “schedule”=>{“event”=>”1”, “result_id”=>””, “time”=>”26/10/2012”, “duration”=>”15”, “arrival_time”=>”14”, “location_id”=>”25”, “selected_players”=>[“”, “38”, “41”], “team_id”=>”1”, “opponent_id”=>”7”, “home_or_away”=>”Home”}, “commit”=>”Save Event”} 调节器 def update @schedule = Schedule.find(params[:id]) @user = User.find(current_user) @players = User.where(:team_id => current_user[:team_id]).all respond_to do |format| if @schedule.update_attributes(params[:schedule]) Notifier.event_added(@user,@schedule).deliver format.html { redirect_to(@schedule, :notice => “#{event_display_c(@schedule.event)} vs #{@schedule.opponent.name} was successfully updated.”) } format.json { head :no_content […]

请帮助您使用此测试版代码,我该如何解决?

可能重复: 为什么这段代码不会产生预期的结果呢? 我有代码: def check_beta_code beta_code_array = [‘AAAAAAAAAA’, ‘BBBBBBBBBB’, ‘CCCCCCCCCC’, ‘DDDDDDDDDD’, ‘EEEEEEEEEE’] beta_code_array.each do |code| if :beta_code != code errors.add(:beta_code, “Invalid Beta Code”) end end end 此代码的问题在于,即使有人输入了正确的密码,仍然会生成4个错误,因为其他4个错误都不正确。

在Ruby on Rails中使用Plucked Values

给定一个名为Album的模型,我想使用我采用的值。 对于初学者,我想尝试打印值。 我怎样才能做到这一点? 这是我目前的代码: my_arr = Album.where(title: “Greatest Hits”, artist: “The Beatles”).pluck(:publisher, :year_published) puts my_arr[0][0].to_a 为了使事情变得更简单,我将如何检索任何值,以便将其置于正常变量中? 我正在使用Rails 4和SQLite3。

Ruby数组不合作

可能重复: 什么时候ruby的Array.slice应该返回nil? 大家好……为什么当[5,1]返回[]并且[6,1]在两个起始元素明显超出范围时返回nil ? irb(main):048:0> a = [ “a”, “b”, “c”, “d”, “e” ] => [“a”, “b”, “c”, “d”, “e”] irb(main):049:0> a[0] => “a” irb(main):050:0> a[4] => “e” irb(main):051:0> a[5,1] => [] irb(main):052:0> a[6,1] => nil 谢谢!

RAILS:从Array填充Object

使用任意SQL语句从查询中填充数组 @myarray = myObject.find_by_sql(sql) SQL的设计方式使得每个myarray项与myObject Model具有相同的字段,例如 \#{myObject value: 100, day: 2013-06-15} 理想情况下,我想拥有myObjects数组 填充数据中的数据; 可访问html; 未保存到数据库中。 它可能吗?

将数组拆分为子数组

我有一个哈希数组,我想打破一个子数组的数组。 拆分的触发器是:组 master = [] master << { id: 1, group: "Brown", name: "Fred" } master << { id: 2, group: "Brown", name: "May" } master << { id: 3, group: "Brown", name: "Brian" } master << { id: 4, group: "Black", name: "Sue" } master << { id: 5, group: "Orange", name: "Helen" } […]

Rails:为什么我可以通过控制器将单个记录属性发送到新记录而不是数组?

在Rails中通过控制器创建文章。 一种简单的方法,或多或少有效; 只需从其他地方调用该方法,它就会通过后端生成一篇新文章并填写值: def test_create_briefing a = Article.new a.type_id = 27 a.status = ‘published’ a.headline = ‘This is a headline’ a.lede = ‘Our article is about some interesting topic.’ a.body = test_article_text a.save! end 如果test_article_text只是一个记录,这可以正常工作并将现有的文章正文打印到新的文章正文中。 在视图中看起来正确并且在“编辑”中看起来正确。 一切都很完美 def test_article_text a = Article.find_by_id(181) a.body end 但是,如果我尝试用最后十篇文章做同样的事情,它不起作用: def test_article_text Article.lastten.each do |a| a.body end end 在视图中你得到: [#, […]

Ruby on Rails使用filter值数组进行最佳搜索?

我有一个具体的例子,但一般的问题是:当你有一个匹配的过滤值数组时,什么是检索记录的最佳方法? 假设我有User和Post记录,其中User has_many :posts 我有一个看起来像这样的Relationship模型: class Relationship < ActiveRecord::Base belongs_to :follower, class_name: "User" belongs_to :followed, class_name: "User" validates :follower_id, presence: true validates :followed_id, presence: true end 我想编写一个函数,返回以下关注时间顺序的post – 也就是说,您关注的用户所关注的所有post都在关注,不包括您关注的任何人的重复和post。 我的解决方案是首先编译所有感兴趣的用户的数组: users = [] @user.following.each do |f| f.following.each do |ff| users << ff end end # dedupe users = users.uniq #remove self and following users.delete(@user) @user.following.each […]