Class: Arrow::Slicer::LogicalCondition
Instance Method Summary
collapse
Methods inherited from Condition
#&, #^, #|
Constructor Details
#initialize(condition1, condition2) ⇒ LogicalCondition
66
67
68
69
|
# File 'lib/arrow/slicer.rb', line 66
def initialize(condition1, condition2)
@condition1 = condition1
@condition2 = condition2
end
|
Instance Method Details
#evaluate ⇒ Object
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
|
# File 'lib/arrow/slicer.rb', line 71
def evaluate
values1 = @condition1.evaluate.each
values2 = @condition2.evaluate.each
raw_array = []
begin
loop do
value1 = values1.next
value2 = values2.next
if value1.nil? or value2.nil?
raw_array << nil
else
raw_array << evaluate_value(value1, value2)
end
end
rescue StopIteration
end
BooleanArray.new(raw_array)
end
|