#!/usr/bin/ruby
#
## http://rosettacode.org/wiki/Map_range
#
func map_range(a, b, x) {
var (a1, a2, b1, b2) = (a.bounds, b.bounds);
x-a1 * b2-b1 / a2-a1 + b1;
}
var a = 0..^10;
var b = -1..^0;
a.each { |x|
say "#{x} maps to #{map_range(a, b, x)}";
}