Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.ruby > #2285

Re: Using grep on subarrays - help!

From 7stud -- <bbxx789_05ss@yahoo.com>
Newsgroups comp.lang.ruby
Subject Re: Using grep on subarrays - help!
Date 2011-04-04 18:41 -0500
Organization Service de news de lacave.net
Message-ID <3fcc2d1bc9b4ca54a656e2dd1db9702f@ruby-forum.com> (permalink)
References <dd95c6e0e47f0378352ab56c23664c9c@ruby-forum.com> <38d8baa728f8f62120993c3f49b2c110@ruby-forum.com>

Show all headers | View raw


Simon Harrison wrote in post #990886:
> Thanks for all the tips. I think #select fits best:
>
> file_results = @films.select { |a, b| /#{@film}/i =~ a }
>
>
> Just one question. Obviously in the above, a and b refer to the first
> and second elements in each subarray. Let's say we have this array:
>
> => [["one", "two", "three"], ["one"], ["two", "three"], ["one",
> "three"]]
>

Neither grep() or include?() depended on the size of the sub-arrays they 
are searching, so the answer is the same:


data = [
  ["one", "two", "three"],
  ["one"],
  ["two", "three"],
  ["one","three"]
]

target = 'one'

results = data.select do |arr|
  arr.include?(target)
end

p results

--output:--
[["one", "two", "three"], ["one"], ["one", "three"]]

However, if your target will only appear in the first position of the 
array, then it is much more efficient to just check the first element of 
each array:

data = [
  ["one", "two", "three"],
  ["ONE"],
  ["two", "three"],
  ["oNe","three"]
]

target = 'one'

results = data.select do |arr|
  arr[0].downcase == target
end

p results

--output:--
[["one", "two", "three"], ["ONE"], ["oNe", "three"]]

-- 
Posted via http://www.ruby-forum.com/.

Back to comp.lang.ruby | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Using grep on subarrays - help! Simon Harrison <simon@simonharrison.net> - 2011-04-03 08:32 -0500
  Re: Using grep on subarrays - help! Jesús Gabriel y Galán <jgabrielygalan@gmail.com> - 2011-04-03 08:47 -0500
    Re: Using grep on subarrays - help! Adam Prescott <adam@aprescott.com> - 2011-04-03 09:44 -0500
      Re: Using grep on subarrays - help! Robert Klemme <shortcutter@googlemail.com> - 2011-04-04 04:13 -0500
  Re: Using grep on subarrays - help! Simon Harrison <simon@simonharrison.net> - 2011-04-03 08:58 -0500
  Re: Using grep on subarrays - help! 7stud -- <bbxx789_05ss@yahoo.com> - 2011-04-03 16:13 -0500
    Re: Using grep on subarrays - help! 7stud -- <bbxx789_05ss@yahoo.com> - 2011-04-03 16:49 -0500
  Re: Using grep on subarrays - help! Simon Harrison <simon@simonharrison.net> - 2011-04-04 14:06 -0500
    Re: Using grep on subarrays - help! Rob Biedenharn <Rob@AgileConsultingLLC.com> - 2011-04-04 14:44 -0500
    Re: Using grep on subarrays - help! 7stud -- <bbxx789_05ss@yahoo.com> - 2011-04-04 18:41 -0500
  Re: Using grep on subarrays - help! Simon Harrison <simon@simonharrison.net> - 2011-04-04 15:05 -0500
    Re: Using grep on subarrays - help! Rob Biedenharn <Rob@AgileConsultingLLC.com> - 2011-04-04 15:56 -0500

csiph-web