12345678910111213141516171819202122232425262728 |
- #!/usr/bin/ruby
- #
- ## https://rosettacode.org/wiki/Write_language_name_in_3D_ASCII
- #
- var text = <<'EOT';
- ***
- * * * **
- * * *
- * * * *** **
- *** * **** * * *
- * * * * ***** *
- * * * * * *
- * * * * * *
- *** * **** *** *
- EOT
- func banner3D(text, shift=-1) {
- var txt = text.lines.map{|line| line.gsub('*','__/').gsub(' ',' ')};
- var offset = txt.len.of {|i| " " * (shift.abs * (i+1)) };
- shift < 0 && offset.reverse!;
- (offset »+« txt).join("\n");
- }
- say banner3D(text);
|