उह, क्या यह हाइकु है?


19

इसलिए आप हाइकु बनाना चाहते हैं, लेकिन यह निश्चित नहीं है कि यह हाइकु के लिए शब्दांश नियमों का पालन करता है या नहीं।

मुझे एक उचित ब्लर्ब लिखने के लिए परेशान नहीं किया जा सकता है जैसे मैं आमतौर पर करता हूं, इसलिए आपको इसके साथ करना होगा। चलो अंदर ही अटक जाते हैं।

जंगल में एक हाइकु खोज रहा था

इस चुनौती के प्रयोजनों के लिए, हम जाँच करेंगे कि क्या दी गई कविता इन मानदंडों को पूरा करती है:

  • तीन लाइनें हैं।
  • पहली पंक्ति में 5 शब्दांश हैं।
  • दूसरी पंक्ति में 7 शब्दांश हैं।
  • तीसरी पंक्ति में 5 शब्दांश हैं।

प्रत्येक पंक्ति एक या एक से अधिक शब्दों से बनी होती है, जिसे रिक्त स्थान के समूहों द्वारा अलग किया जाता है। ये शब्द आवश्यक रूप से मान्य अंग्रेजी शब्द नहीं हैं।

प्रत्येक शब्द को सिलेबल्स में विभाजित किया जाता है, और फिर उन सिलेबल्स को लाइन के कुल शब्दांश की गणना के लिए गिना जाता है।

एक शब्दांश में या तो 2 या 3 भाग होते हैं: शुरुआत, अंत और संभवतः मध्य। प्रत्येक भाग या तो व्यंजन समूह (जिसे व्यंजन समूह के रूप में भी जाना जाता है, जैसे कि s, skया spl) या स्वरों का समूह (जैसे i, eaया oui)।

यदि शुरुआत व्यंजन का एक समूह है, तो मध्य स्वरों का एक समूह होगा और अंत व्यंजन का एक समूह होगा। यदि शुरुआत स्वरों का एक समूह है, तो अंत व्यंजन का एक समूह होगा और कोई मध्य नहीं होगा।

उदाहरण के लिए, शब्द exampleतीन शब्दांशों से बना है ex, amऔर plepleइसका कोई अंत नहीं है क्योंकि यह शब्द के अंत तक छोटा था।

एक अन्य उदाहरण के रूप में, शब्द syllableमें तीन शब्दांश भी हैं syll, ablऔर e, जिसका कोई अंत नहीं है।

एक अंतिम उदाहरण के लिए, शब्द wordमें एक शब्दांश है word, जो व्यंजन के एक समूह के साथ समाप्त होता है।

चुनौती

एक स्ट्रिंग, तार की सूची, सूचियों की सूची या किसी अन्य उचित प्रारूप को देखते हुए, कम से कम एक पंक्ति के साथ एक कविता का प्रतिनिधित्व करते हुए, यह निर्धारित करें कि क्या यह ऊपर उल्लिखित हाइकु के मानदंडों को पूरा करता है और परिणाम लौटाता है।

आप इनमें से किसी भी प्रारूप में परिणाम लौटा सकते हैं:

  • यदि कविता हाइकु है और मिथ्या है तो एक सत्य मूल्य।
  • एक मिथ्या मूल्य अगर कविता हाइकू है और एक सत्य अन्यथा।
  • सबमिशन में निर्दिष्ट मानों की एक परिमित रेंज से एक मान यदि कविता हाइकु है और सबमिशन में निर्दिष्ट मूल्यों की पारस्परिक अनन्य परिमित श्रेणी से एक मान है।

आप यह भी मान सकते हैं कि कविता में कोई गैर-वर्णमाला वर्ण नहीं है, लेकिन आप यह नहीं मान सकते हैं कि यह पूरी तरह से अपरकेस या लोअरकेस में है।

इस चुनौती के प्रयोजनों के लिए, Yएक स्वर है।

परीक्षण के मामलों

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

स्कोरिंग

चूंकि यह
सबसे छोटा जवाब
आप सभी को गुड लक जीतेंगे



जवाबों:


4

जेली ,  25  23 बाइट्स

-2 एग्री आउटफोलर के लिए धन्यवाद (इनपुट के रूप में लाइनों की एक सूची का उपयोग करें)

e€Øy0;ŒgP€
ḲLÐfÇ€ḣ8µ€ḣ4

पात्रों की सूचियों (रेखाओं) की सूची लेने और शून्य और अन्य लोगों की सूचियों की सूची लौटाने वाला एक विवादास्पद लिंक। वैध हाइकु की लंबाई 3 होगी और एक बार शून्य होने वाली सबसे गहरी सूचियों को एक एकल द्वारा प्रतिस्थापित कर दिया जाएगा, जबकि चपटी सूचियों का योग क्रमशः 5, 7 और 5 होगा। गठन (चाहे अक्षरों का रन व्यंजन हो और केवल 4 लाइनों में से प्रत्येक के पहले 8 शब्दों को लेते हुए) यह सुनिश्चित करता है कि प्रत्येक वैध और अमान्य श्रेणियों में से केवल एक ही हो।

इसे ऑनलाइन आज़माएं! या (और भी भ्रमित!) टेस्ट-सूट देखें


यहां  32  30 बाइट संस्करण का उपयोग करना बहुत आसान है , बस 1 या 0 का आउटपुट देना है:

e€Øy0;ŒgP€SȯL$
ḲLÐfÇ€Sµ€⁼5,7,5

इसे आज़माएं या इसका परीक्षण-सूट देखें


मुझे नहीं लगता कि गैर-हाइकु संभावनाओं की "सीमा" परिमित है - आप उन में शब्दों / पंक्तियों की एक अनबिके संख्या रख सकते हैं।
अर्जन जोहानसन

अरे धिक्कार है जब बदलाव किया गया तो मुझे लगा कि यह हाइकू रेंज ही है जिसे बारीक करने की जरूरत है। मुझे लगता है कि यह 32 बटर पर वापस आ गया है।
जोनाथन एलन

ओके को चार बाइट्स के लिए प्रति पंक्ति शब्दों को आठ तक और लाइन्स को चार तक सीमित करके संबोधित किया जाता है।
जोनाथन एलन

मुझे लगता है कि आप हटा सकते हैं Ỵµ, जैसा कि आप लाइनों की एक सूची ले सकते हैं।
आउटगोल्फ

3

जावास्क्रिप्ट (ईएस 6), 84 75 बाइट्स

शब्दों की सूची की सूची के रूप में इनपुट लेता है। trueहाइकू या falseगैर-हाइकु के लिए रिटर्न ।

a=>a.map(s=>(s.map(w=>w.match(/[aeiouy]+/gi))+'').split`,`.length)=='5,7,5'

परीक्षण के मामलों


2

रेटिना , 49 बाइट्स

i`[aeiouy]+
1
T`lL`2
2*12+
3
[12]+
3
%M`3
^5¶7¶5$

इसे ऑनलाइन आज़माएं!

1हाइकू के लिए आउटपुट , 0गैर-हाइकू के लिए।


@FryAmTheEggman ने काम किया, सिवाय इसके कि मुझे जोड़ना था ^और $क्योंकि xएक पंक्ति में हाइक xएक स्ट्रिंग के रूप में देगा ।
फायरफ्लेम २४१

1
मुझे लगता है कि यह 45 बाइट्स के लिए काम कर सकता है।
नील

2

पायथन 2 , 126 125 120 121 बाइट्स

lambda s:[len(split('\s+',sub('[aeiouy][^aeiouy ]+','X ',t,0,I).strip()))for t in s.split('\n')]==[5,7,5]
from re import*

इसे ऑनलाइन आज़माएं!


आपके अंतिम संपादन ने इस आवश्यकता को तोड़ दिया कि व्यंजन-शब्द केवल 1 शब्दांश के रूप में गिना जाता है।
अर्जन जोहानसन

@ अर्जन जोहानसन: फिक्स्ड; धन्यवाद!
चास ब्राउन


1
आप लाइनों की एक सूची के रूप में इनपुट लेकर, और बस के साथ s
s.split


1

क्लीन , 162 ... 115 बाइट्स

import StdEnv,StdLib
@t=[sum[max(sum(map hd(group[sum[1\\v<-:"AaEeIiOoUuYy"|c==v]\\c<-w])))1\\w<-l]\\l<-t]==[5,7,5]

फ़ंक्शन को परिभाषित करता है @, ले रहा है [[[Char]]](शब्दों की सूची की सूची), और दे रहा है Bool
रिटर्न Trueजब इनपुट, एक हाइकू है Falseअन्यथा।

इसे ऑनलाइन आज़माएं!


केवल शब्द कोने के मामले में विफल होने लगता है।
अर्जन जोहान्सन

@ ΟRrrJohansen तय
2urous

1

गणितज्ञ 119 बाइट्स

यहां एक संस्करण है जो सिलेबल्स के लिए दिए गए नियमों के अनुरूप है:

Tr/@Map[Length@StringCases[#,("a"|"e"|"i"|"o"|"u"|"y")..]/. 0->1&,(s=StringSplit)/@s[ToLowerCase@#,"\n"],{2}]=={5,7,5}&

यहाँ एक 83 बाइट संस्करण है जो वास्तव में शब्दांशों की गणना करता है:

Tr/@Map[Length@WordData[#,"Hyphenation"]&,(s=StringSplit)/@s[#,"\n"],{2}]=={5,7,5}&

जैसे

%@"This is a haiku
Yes it truly is one
See what I did man"

Falseदूसरी पंक्ति के बाद से रिटर्न में सात के बजाय छह सिलेबल्स हैं।


यह विफल हो जाता है क्योंकि चुनौती स्पष्ट रूप से अपने स्वयं के शब्दांश को परिभाषित करती है, जो सामान्य अंग्रेजी नियमों का उपयोग नहीं करता है।
अर्जन जोहान्सन

अच्छी तरह से नहीं downvoting के लिए धन्यवाद। मुझे एक शब्दांश की परिभाषा में एक प्रयास दिखाई देता है, लेकिन यह स्पष्ट नहीं है। मैं अनुमान लगा रहा हूं "एक" में इस परिभाषा के अनुसार दो शब्दांश हैं। ऐसा लगता है कि लोग केवल सन्निहित स्वर गिन रहे हैं।
केली लोल्डर

लगभग, लेकिन बिना स्वर वाले शब्द एक शब्दांश के रूप में गिने जाते हैं। प्रश्न टिप्पणियाँ देखें। मुझे लगता है कि यह सिर्फ इस बारे में भ्रमित है कि व्यंजन समूहों के बारे में क्या करना है, लेकिन यह वास्तव में अंतिम गणना को प्रभावित नहीं करता है।
अर्जन जोहान्सन

"एक" में दो स्वर हैं, और वे सन्निहित नहीं हैं।
केली लोल्डर

ठीक है, इसलिए वे दो सिलेबल्स के रूप में गिने जाते हैं।
अर्जन जोहान्सन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.