PowerShell v3 +, 60 78 67 बाइट्स
-join(65..90|%{[char]$_+'.,'[$_-le89]+" "+"`n"*($_-in71,80,83,86)})
ठीक। मैंने वास्तव में इस बार युक्ति पढ़ी, समझी और उसका अनुसरण किया। वादा। : डी
65..90
प्रत्येक तत्व पर सरणी और लूप लेता है|%{...}
। प्रत्येक पुनरावृत्ति, हम संघनन, अनुक्रमण और गुणन का उपयोग करते हुए एक नए तार का निर्माण कर रहे हैं।
सबसे पहले, हम वर्तमान संख्या लेते हैं और char
इसे ASCII पत्र बनाने के लिए डालते हैं। इसे स्ट्रिंग में अनुक्रमित करने के आधार पर एक और चार के साथ सम्मिलित किया जाता है, '.,'
चाहे हम हों 90
या न हों (यानी, Z.
शेष सभी अल्पविराम होने पर खाते में )। कि स्ट्रिंग " "
को अलग-अलग अक्षरों के साथ स्पेस-अलग किया जा सकता है, और "`n"
वर्तमान तत्व -in
निर्दिष्ट सरणी है या नहीं (इसके लिए, हमें नई पंक्ति वर्ण पर संक्षिप्त करने की आवश्यकता है) के लिए बूलियन मान पर आधारित स्ट्रिंग गुणन । परिणामी स्ट्रिंग को पाइप लाइन पर छोड़ दिया जाता है।
उन तारों को Parens में एनकैप्सुलेट किया जाता है, और -join
एक नए स्ट्रिंग में एक साथ एड किया जाता है, जिसे बाद में पाइपलाइन पर छोड़ दिया Write-Output
जाता है और अंत में परिणाम को प्रिंट करता है। चूंकि हमारे पास `n
स्ट्रिंग है, इसलिए यह स्वचालित रूप से प्रिंटिंग पर नई सुर्खियों में बदल जाता है।
-in
ऑपरेटर के लिए v3 + की आवश्यकता होती है । प्रत्येक पंक्ति पर एक अनुगामी स्थान है, जो चुनौती के चश्मे के अनुसार ठीक है।
उदाहरण
PS C:\Tools\Scripts\golfing> .\now-i-know-my-abc.ps1
A, B, C, D, E, F, G,
H, I, J, K, L, M, N, O, P,
Q, R, S,
T, U, V,
W, X, Y, Z.
/(?=[HQTW])/