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])/