sierpinski_diamond.sf 346 B

123456789101112131415
  1. #!/usr/bin/ruby
  2. func sierpinski_diamond(n) {
  3. var triangle = ['*'];
  4. { |i|
  5. var sp = (' ' * pow(2, i));
  6. triangle = (triangle.map {|x| sp + x + sp } +
  7. triangle.map {|x| x + ' ' + x } +
  8. triangle.map {|x| sp + x + sp} );
  9. } * n;
  10. triangle.join("\n");
  11. }
  12. say sierpinski_diamond(2);