Votre tâche consiste à créer un programme qui identifie la forme de l'entrée. Les formes à identifier peuvent être l'une des suivantes:
Carré
Pour être identifiée comme un carré, la source doit avoir des lignes de même longueur et le même nombre de lignes que de caractères par ligne (caractères de nouvelle ligne exclus). Une nouvelle ligne de fin facultative est acceptable.
$_='
$_="
$_"'
;say
Rectangle
Pour être identifiée comme un rectangle, la source doit avoir des lignes de longueur égale, mais le nombre de lignes ne correspond pas au nombre de caractères par ligne (caractères de nouvelle ligne exclus). Une nouvelle ligne de fin facultative est acceptable. Cela peut être horizontal ou vertical.
$_=
"no
t a
squ
are
";#
$_="but it
is still a
consistent
shape!";##
Triangle
Pour être identifiée comme un triangle, la source doit commencer par un caractère, et chaque ligne suivante doit avoir un caractère supplémentaire (y compris le dernier), ou après la première ligne, chaque ligne suivante doit avoir un caractère de moins jusqu'au dernier, ce qui n'en a qu'un.
$
_=
"So
this
"."".
shape;
$_="or
even,
this
way
!!
"
Désordre
Tout ce qui ne suit pas un format cohérent selon ce qui précède, doit être identifié comme un gâchis.
Règles
- Vous pouvez renvoyer quatre valeurs imprimables cohérentes pour identifier chaque forme.
- Votre code source doit également adhérer à l'une des formes ci-dessus (non, pas un gâchis).
- Une seule nouvelle ligne de fin dans votre source est acceptable.
- Vous pouvez supposer que l'entrée ne contient pas de lignes vides (y compris les retours à la ligne de fin), n'est pas vide et ne se compose pas uniquement de retours à la ligne.
- Toutes les formes doivent avoir une hauteur et une largeur> = 2, sinon cela est défini comme un gâchis.
- Les failles standard sont interdites.
- La solution la plus courte en octets, dans chaque langue, gagne.
All shapes must have a height and width of >= 2.
['abc','cfd','fgh']
?