private static StepFixnum ( |
||
block | ||
self | ||
begin | int | |
end | int | |
step | int | |
return | object |
private static object StepFixnum(BlockParam/*!*/ block, Range/*!*/ self, int begin, int end, int step) {
Assert.NotNull(block, self);
CheckStep(step);
object result;
int item = begin;
while (item < end) {
if (block.Yield(item, out result)) {
return result;
}
item += step;
}
if (item == end && !self.ExcludeEnd) {
if (block.Yield(item, out result)) {
return result;
}
}
return self;
}