Quindi vuoi creare un haiku, ma non sei sicuro che segua le regole della sillaba per un haiku.
Non potrei essere disturbato a scrivere un vero e proprio turbinio come faccio di solito, quindi dovrai accontentarti di questo. Rimaniamo bloccati dentro.
Alla ricerca di un haiku in natura
Ai fini di questa sfida, verificheremo se la data poesia soddisfa questi criteri:
- Ci sono tre righe.
- La prima riga ha 5 sillabe.
- La seconda riga ha 7 sillabe.
- La terza riga ha 5 sillabe.
Ogni riga è composta da una o più parole, separate da gruppi di spazi. Queste parole non sono necessariamente parole inglesi valide.
Ogni parola viene suddivisa in sillabe, e quindi quelle sillabe vengono contate per ottenere il conteggio delle sillabe totali della linea.
Una sillaba ha 2 o 3 parti: l'inizio, la fine e forse il centro. Ogni parte è un gruppo di consonanti (noto anche come un gruppo di consonanti, come s, sko spl) o un gruppo di vocali (come i, eao oui).
Se l'inizio è un gruppo di consonanti, il centro sarà un gruppo di vocali e la fine sarà un gruppo di consonanti. Se l'inizio è un gruppo di vocali, la fine sarà un gruppo di consonanti e non ci sarà alcun centro.
Ad esempio, la parola exampleè composta da tre sillabe ex, ame ple. plenon ha fine poiché è stato tagliato alla fine della parola.
Come altro esempio, la parola syllableha anche tre sillabe syll, able e, che non ha fine.
Per un ultimo esempio, la parola wordha una sillaba word, che termina con un gruppo di consonanti.
La sfida
Data una stringa, un elenco di stringhe, un elenco di elenchi o qualsiasi altro formato ragionevole che rappresenti una poesia con almeno una riga, determinare se soddisfa i criteri di un haiku descritto sopra e restituire il risultato.
È possibile restituire il risultato in uno di questi formati:
- Un valore veritiero se la poesia è un haiku e una falsa altrimenti.
- Un valore falso se la poesia è un haiku e una verità altrimenti.
- Un valore da un intervallo finito di valori specificato nell'invio se il poema è un haiku e un valore da un intervallo finito di valori reciprocamente esclusivi specificato anche nell'invio.
Puoi anche supporre che la poesia non contenga caratteri non alfabetici, ma non puoi presumere che sia interamente in maiuscolo o minuscolo.
Ai fini di questa sfida, Yè una vocale.
Casi test
Truthy
This is a haiku
Yes it truly is one
See what I did man
I am so tired
of writing this already
when can I stop this
Writing another
Of these horrific things
Come on please
Consonant only
Counts as one syllable
ghjk tgh knmb wrts vbc
Falsy
oh boy writing non haiku is so much easier
This is
so good
on my
poor dear brain
The syllables do not match
at least I do not think so
I have not checked
It does not really matter
these test cases will help
At least I think they will
I am done here
This is enough
Goodbye
punteggio
Dato che si tratta di code-golf
La risposta più breve vincerà
Buona fortuna a tutti voi