Su tarea es construir un programa que identifique la forma de la entrada. Las formas a identificar pueden ser cualquiera de las siguientes:
Cuadrado
Para identificarse como un cuadrado, la fuente debe tener líneas de igual longitud y el mismo número de líneas que los caracteres por línea (se excluyen los caracteres de nueva línea). Una nueva línea final opcional es aceptable.
$_='
$_="
$_"'
;say
Rectángulo
Para identificarse como un rectángulo, la fuente debe tener líneas de igual longitud, pero el número de líneas no coincide con el número de caracteres por línea (se excluyen los caracteres de nueva línea). Una nueva línea final opcional es aceptable. Esto puede ser horizontal o vertical.
$_=
"no
t a
squ
are
";#
$_="but it
is still a
consistent
shape!";##
Triángulo
Para identificarse como un triángulo, la fuente debe comenzar con un carácter, y cada línea posterior debe tener un carácter adicional (incluido el último), o después de la primera línea, cada línea posterior debe tener un carácter menos hasta el último, que tiene solo uno.
$
_=
"So
this
"."".
shape;
$_="or
even,
this
way
!!
"
Lío
Cualquier cosa que no siga un formato consistente según lo anterior, debe identificarse como un desastre.
Reglas
- Puede devolver cuatro valores imprimibles consistentes para identificar cada forma.
- Su código fuente también debe cumplir con una de las formas anteriores (no, no es un desastre).
- Una nueva línea final en su fuente es aceptable.
- Puede suponer que la entrada no contiene ninguna línea en blanco (incluidas las nuevas líneas finales), no está vacía y no consta solo de nuevas líneas.
- Todas las formas deben tener una altura y un ancho de> = 2; de lo contrario, esto se define como un desastre.
- Las lagunas estándar están prohibidas.
- La solución más corta en bytes, en cada idioma, gana.
All shapes must have a height and width of >= 2.
['abc','cfd','fgh']
?