, - :
require 'set'
class Test
def initialize()
@lists = {174=>[1,2,3], 111=>[2,3,4], 160=>[2,4,5]}
end
def common_members(*keys)
lists_as_sets = {}
@lists.each_pair {|key,list| lists_as_sets[key] = list.to_set}
common = lists_as_sets[keys.shift]
keys.each {|k| common = common & lists_as_sets[k]}
common.to_a
end
end
t = Test.new
p t.common_members(174,111)
p t.common_members(111,160)
p t.common_members(174,111,160)