mul: fun(n, m) fiber { n.times.map(|i| i+1).each{|i| m.times.map(|j| j+1).each{|j| yield i, j, i * j; } } } formatter: %f[%d * %d = %2d]; mul(9, 9) {|i,j,s| formatter(i, j, s).p; }