#!/usr/bin/ruby
#
## http://rosettacode.org/wiki/Identity_matrix
#
func identity_matrix(n) {
1..n -> map { |i|
1..n -> map {|j| j == i ? 1 : 0 }
}
}
(ARGV.len ? ARGV.map {.to_i} : [4, 5, 6]) -> each { |n|
say "\n#{n}:";
identity_matrix(n).each { |row|
say row.join(' ');
};
}