あなたの仕事は、入力の形状を識別するプログラムを作成することです。識別される形状は、次のいずれかです。
平方
正方形として識別されるためには、ソースはすべて同じ長さの行と、1行あたりの文字数と同じ行数(改行文字を除く)を持っている必要があります。オプションの末尾の改行も使用できます。
$_='
$_="
$_"'
;say
矩形
長方形として識別されるためには、ソースはすべて等しい長さの行を持っている必要がありますが、行数は行ごとの文字数と一致しません(改行文字は除外されます)。オプションの末尾の改行も使用できます。これは、水平または垂直のいずれかです。
$_=
"no
t a
squ
are
";#
$_="but it
is still a
consistent
shape!";##
三角形
三角形として識別するには、ソースは1文字で始まり、後続の各行に追加の文字(最後を含む)が1つ必要です。または、最初の行の後、後続の各行は最後まで1文字少ない必要があります。 1つだけです。
$
_=
"So
this
"."".
shape;
$_="or
even,
this
way
!!
"
混乱
上記のような一貫した形式に従わないものはすべて、混乱として識別される必要があります。
ルール
- 4つの一貫した印刷可能な値を返して、各形状を識別できます。
- また、ソースコードは上記の形状のいずれかに準拠する必要があります(いや、混乱ではありません)。
- ソース内の単一の末尾の改行は許容されます。
- 入力には空白行(末尾の改行を含む)が含まれておらず、空ではなく、改行のみで構成されていないことが想定できます。
- すべての形状の高さと幅は2以上である必要があります。それ以外の場合、これは混乱として定義されます。
- 標準的な抜け穴は禁止されています。
- 各言語のバイト単位の最短ソリューションが勝ちです。
All shapes must have a height and width of >= 2.
['abc','cfd','fgh']
?