Ihre Aufgabe ist es, ein Programm zu erstellen, das die Form der Eingabe identifiziert. Die zu identifizierenden Formen können folgende sein:
Platz
Um als Quadrat identifiziert zu werden, muss die Quelle Zeilen mit der gleichen Länge und der gleichen Anzahl von Zeilen wie Zeichen pro Zeile enthalten (Zeilenumbruch ausgeschlossen). Ein optionaler abschließender Zeilenumbruch ist zulässig.
$_='
$_="
$_"'
;say
Rechteck
Um als Rechteck identifiziert zu werden, muss die Quelle Zeilen mit der gleichen Länge haben, aber die Anzahl der Zeilen stimmt nicht mit der Anzahl der Zeichen pro Zeile überein (Zeilenumbruch ausgeschlossen). Ein optionaler abschließender Zeilenumbruch ist zulässig. Dies kann entweder horizontal oder vertikal sein.
$_=
"no
t a
squ
are
";#
$_="but it
is still a
consistent
shape!";##
Dreieck
Um als Dreieck identifiziert zu werden, muss die Quelle entweder mit einem Zeichen beginnen und jede nachfolgende Zeile muss ein zusätzliches Zeichen (einschließlich des letzten Zeichens) enthalten, oder nach der ersten Zeile sollte jede nachfolgende Zeile bis zur letzten Zeile ein Zeichen weniger enthalten hat nur einen.
$
_=
"So
this
"."".
shape;
$_="or
even,
this
way
!!
"
Chaos
Alles, was nicht einem einheitlichen Format wie oben folgt, muss als Durcheinander identifiziert werden.
Regeln
- Sie können vier konsistente druckbare Werte zurückgeben, um jede Form zu identifizieren.
- Ihr Quellcode muss sich auch an eine der oben genannten Formen halten (nein, kein Durcheinander).
- Eine einzelne nachgestellte Zeile in Ihrer Quelle ist akzeptabel.
- Sie können davon ausgehen, dass die Eingabe keine Leerzeilen (einschließlich nachfolgender Zeilenumbrüche) enthält, nicht leer ist und nicht nur aus Zeilenumbrüchen besteht.
- Alle Formen müssen eine Höhe und Breite von> = 2 haben, andernfalls wird dies als Durcheinander definiert.
- Standardlücken sind verboten.
- Die kürzeste Lösung in Bytes in jeder Sprache gewinnt.
All shapes must have a height and width of >= 2.
['abc','cfd','fgh']
?