我有这样的矩阵:
my_matrix = [['regular', '16/03/2009', '17/03/2009', '18/03/2009'],
['regular', '20/03/2009', '21/03/2009', '22/03/2009'],
['rewards', '26/03/2009', '27/03/2009', '28/03/2009']]
我需要验证第一个元素是“常规”还是“奖励”,并验证第一个元素的每个日期,处理某些内容并返回一个值。
例如:
['regular', '20/03/2009', '21/03/2009', '22/03/2009']
第一个元素是'regular'
and,我需要遍历数组的其余部分,以验证每个日期是工作日还是周末,然后处理某些内容。如果周末多于工作日处理某事,否则,处理另一件事。
我试过这个:
HOTELS = {
:RIDGEWOOD => 'RidgeWood',
:LAKEWOOD => 'LakeWood',
:BRIDGEWOOD => 'BridgeWood'
}
def weekend?(date)
datetime = DateTime.parse(date.to_s)
datetime.saturday? || datetime.sunday?
end
def find_the_cheapest_hotel(text_file)
@costumer_request = File.open(text_file){|io| io.each_line.map{|line| line.split(/[:,\s]+/)}}
@costumer_request.each do |line|
line.each do |value|
if line.shift == 'regular'
if weekend?(line)
print 'weekend regular'
else
print 'weekday regular'
end
elsif line.shift == 'rewards'
if weekend?(line)
print 'weekend rewards'
else
print 'weekday rewards'
end
end
end
它得到这个['regular', '16/03/2009', '17/03/2009', '18/03/2009']
并返回这个工作日 weekday weekday 我想不仅在第一个数组中处理每个数组。