sierpinski_triangle.sf 346 B

123456789101112131415161718
  1. #!/usr/bin/ruby
  2. #
  3. ## https://rosettacode.org/wiki/Sierpinski_triangle
  4. #
  5. func sierpinski_triangle(n) {
  6. var triangle = ['*'];
  7. { |i|
  8. var sp = (' ' * 1<<i);
  9. triangle = (triangle.map {|x| sp + x + sp} +
  10. triangle.map {|x| x + ' ' + x});
  11. } * n;
  12. triangle.join("\n");
  13. }
  14.  
  15. say sierpinski_triangle(4);