#!/usr/bin/ruby
func sierpinski_triangle(n) -> Array {
var triangle = ['*']
{ |i|
var sp = (' ' * pow(2, i));
triangle = (triangle.map {|x| sp + x + sp} +
triangle.map {|x| x + ' ' + x})
} * n
triangle
}
class Array {
method display_2d {
say self.join("\n")
}
}
sierpinski_triangle(3).display_2d