I'm just looking for other possible solutions. Sorry, this is kinda a
noob question.
Currently I loop through the array and check the value of each hash key
to find values. Is that the only and/or best way to find matches?
example:
@invoices = [{:id => 1, :first_name => 'nate'}, {:id => 2, :fist_name =>
'greg'}, {:id => 3, :first_name =>}]
@invoices.each do |invoice|
if invoice[:id] == params[:contact_id]
bla... bla...
end
end
···
--
Posted via http://www.ruby-forum.com/.
With the construct you have there it would be faster to just store the names
in an array at the index corresponding to :id. Although if this is coming
out of Rails that probably isn't a viable option. If you are stuck with
that construct then what you have should work fine. There are probably
faster/more efficient ways though.
···
On Mon, Jul 14, 2008 at 3:22 PM, Nate Leavitt <nateleavitt@gmail.com> wrote:
I'm just looking for other possible solutions. Sorry, this is kinda a
noob question.
Currently I loop through the array and check the value of each hash key
to find values. Is that the only and/or best way to find matches?
example:
@invoices = [{:id => 1, :first_name => 'nate'}, {:id => 2, :fist_name =>
'greg'}, {:id => 3, :first_name =>}]
@invoices.each do |invoice|
if invoice[:id] == params[:contact_id]
bla... bla...
end
end
--
Posted via http://www.ruby-forum.com/\.
--
"Hey brother Christian with your high and mighty errand, Your actions speak
so loud, I can't hear a word you're saying."
-Greg Graffin (Bad Religion)
Where did @invoices come from in the first place? If it came from the
database, you are probably doing things in your loop that you should
be doing in the sql query (e.g. Invoice.find(params[:contact_id])
rather than your if guard in the loop)
martin
···
On Mon, Jul 14, 2008 at 2:37 PM, Nate Leavitt <nateleavitt@gmail.com> wrote:
@invoices.each do |invoice|
if invoice[:id] == params[:contact_id]
bla... bla...
end
Thanks for the reply. Yes, I am working in rails It just seems
kinda tedious to keep iterating over all these collections. Just
wondering if there is a more efficient way.
Nate Leavitt wrote:
Glen Holcomb wrote:
in an array at the index corresponding to :id. Although if this is
coming
out of Rails that probably isn't a viable option. If you are stuck with
that construct then what you have should work fine. There are probably
faster/more efficient ways though.
Thanks for the reply. Yes, I am working in rails It just seems
kinda tedious to keep iterating over all these collections. Just
wondering if there is a more efficient way.
invoice_set=@invoices.select{|invoice|invoice[:id]==params[:contact_id]}
invoice_set.each do |invoice|
#stuff with invoice
end
Doubt if it is less work but it feels snappier somehow.
Regards,
Siep
···
--
Posted via http://www.ruby-forum.com/\.