func AppleGenerator3(out chan<- Apple, from, to, stride int, fn func(int) Apple) {
	if (from > to && stride > 0) || (from < to && stride < 0) {
		panic("Loop conditions are divergent.")
	}
	if from > to && stride < 0 {
		for i := from; i >= to; i += stride {
			out <- fn(i)
		}
	} else {
		for i := from; i <= to; i += stride {
			out <- fn(i)
		}
	}
	close(out)
}
// AppleGenerator produces a stream of Apple based on a supplied generator function.
// The function fn is invoked *(|to - from|) / |stride|* times with the integers in the range specified by
// from, to and stride. If stride is negative, from should be greater than to.
// For each iteration, the computed function result is sent out.
// If stride is zero, the loop never terminates. Otherwise, after the generator has reached the
// loop end, the output channel is closed and the generator terminates.
//
// It is part of the Plumbing function suite for Apple.
AppleGenerator produces a stream of Apple based on a supplied generator function.
The function fn is invoked *(|to - from|) / |stride|* times with the integers in the range specified by
from, to and stride. If stride is negative, from should be greater than to.
For each iteration, the computed function result is sent out.
If stride is zero, the loop never terminates. Otherwise, after the generator has reached the
loop end, the output channel is closed and the generator terminates.

It is part of the Plumbing function suite for Apple.
// AppleGenerator produces a stream of Apple based on a supplied generator function . // The function fn is invoked * ( |to - from| ) / |stride| * times with the integers in the range specified by // from to and stride . If stride is negative from should be greater than to . // For each iteration the computed function result is sent out . // If stride is zero the loop never terminates . Otherwise after the generator has reached the // loop end the output channel is closed and the generator terminates . // // It is part of the Plumbing function suite for Apple .
func AppleGenerator3(out chan<- Apple, from, to, stride int, fn func(int) Apple) {
	if (from > to && stride > 0) || (from < to && stride < 0) {
		panic("Loop conditions are divergent.")
	}
	if from > to && stride < 0 {
		for i := from; i >= to; i += stride {
			out <- fn(i)
		}
	} else {
		for i := from; i <= to; i += stride {
			out <- fn(i)
		}
	}
	close(out)
}
func AppleGenerator3 ( out chan <- Apple , from , to , stride int , fn func ( int ) Apple ) { if ( from > to && stride > 0 ) || ( from < to && stride < 0 ) { panic ( " " ) } if from > to && stride < 0 { for i := from ; i >= to ; i += stride { out <- fn ( i ) } } else { for i := from ; i <= to ; i += stride { out <- fn ( i ) } } close ( out ) }
AppleGenerator produces a stream of Apple based on a supplied generator function.
AppleGenerator produces a stream of Apple based on a supplied generator function .