Ruby Array交叉问题

时间:2014-05-19 04:01:28

标签: ruby-on-rails ruby arrays ruby-on-rails-4 intersection

我一直试图使用"&"使用Ruby中的Twitter API进行intersection方法。我已经尝试了几种不同的方式,它简单地说......"未定义的方法`&'对于Twitter ..."。对于" |"它也是如此。和" - "。我读过的所有文档都说你只需要使用"&"与数组相交并获得具有相同值的值的新数组。我对Ruby很新,我缺少什么?...

@var = @array1 & @array2

我的控制器代码如下:

class UsersController < ActionController::Base

   def index
      redirect_to :controller => 'users', :action => 'show', :id => params[:id]
   end

   def show
      begin
        @users = $client.user_timeline(params[:id])[0..9] #Gets last 10 tweets
        @userinfo = $client.user(params[:id])
        @friends = $client.friend_ids(@userinfo.id)
      rescue Twitter::Error::NotFound
          redirect_to :controller => 'users', :action => 'show', :id => '404'
      end
  end

  def compare
      @users = $client.user_timeline(params[:id])[0..0] #Limits Timeline request to 1
      @users2 = $client.user_timeline(params[:id2])[0..0] #Limits Timeline request to 1
      @userinfo = $client.user(params[:id])
      @userinfo2 = $client.user(params[:id2])

      @friendlists = $client.friend_ids(@userinfo.id) #Variable 1
      @friendlists2 = $client.friend_ids(@userinfo2.id) #Variable 2
  end

end 

我的观看代码是......

<% @friendmerge = @friendlists & @friendlists2 %> #<--This should work right?

<% if !@friendmerge.blank? %>
   <pre><%= JSON.pretty_generate(@friendmerge) %></pre>
   <% else %>
   This didn't work.
<% end %>

我是Ruby的新手,所以请善待。我完全意识到我可能正在努力解决一些核心原则。任何和所有的帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

如果你的对象不支持(数组)交集,他们可能仍然知道如何转换成一个数组。你可以试试

@friendmerge = @friendlists.to_a & @friendlists2.to_a

为了找到答案。