本帖最后由 523066680 于 2017-3-18 09:56 编辑
- my @lines = "*";
- func( \@lines, 1 );
-
- sub func
- {
- my ($ref, $lv) = (shift, shift);
- my @tri;
- my $top = $#$ref + 1;
-
- grep { push @tri, "$_ $_" } @$ref;
- grep { unshift @tri, " "x$top .$_ ." "x$top } ( reverse @$ref );
-
- ( $lv <= 3 ) ?
- func( \@tri, $lv+1 ) : print join("\n", @tri);
- }
复制代码
- *
- * *
- * *
- * * * *
- * *
- * * * *
- * * * *
- * * * * * * * *
- * *
- * * * *
- * * * *
- * * * * * * * *
- * * * *
- * * * * * * * *
- * * * * * * * *
- * * * * * * * * * * * * * * * *
复制代码
|