পাওয়ারশেল v3 +, 60 78 67 বাইট
-join(65..90|%{[char]$_+'.,'[$_-le89]+" "+"`n"*($_-in71,80,83,86)})
ঠিক আছে. আমি আসলে এই সময়টি পড়েছি, বুঝতে পেরেছি এবং অনুসরণ করেছি। প্রতিশ্রুতি। : ডি
অ্যারে নেয় 65..90
এবং প্রতিটি উপাদানকে লুপ করে |%{...}
। প্রতিটি পুনরাবৃত্তি, আমরা কনটেনটেশন, ইনডেক্সিং এবং গুণক ব্যবহার করে একটি নতুন স্ট্রিং তৈরি করছি।
প্রথমত, আমরা বর্তমান নম্বরটি নিয়ে char
এএসসিআইআই চিঠি তৈরি করতে এটি নিক্ষেপ করি। এটি অন্য চরের সাথে সংলগ্ন, স্ট্রিংয়ের ইনডেক্সিংয়ের উপর ভিত্তি করে '.,'
আমরা থাকি 90
বা না থাকি (অর্থাত্, Z.
বাকি সমস্ত অংশ কমা হয়ে থাকাকালীন জন্য অ্যাকাউন্ট করা)। এই স্ট্রিংটি " "
অক্ষরের সাথে স্পেস-বিভাজন এবং "`n"
বুলিয়ান মানের উপর ভিত্তি করে স্ট্রিং গুণটি বর্তমান উপাদানটি -in
নির্দিষ্ট অ্যারে কিনা (যেমন, আমাদের কোনও নতুন লাইনের চরিত্রের উপর একত্রিত করার প্রয়োজন কিনা) for ফলস্বরূপ স্ট্রিংটি পাইপলাইনে রেখে গেছে।
এই স্ট্রিংগুলি পেরেনগুলিতে আবদ্ধ হয় এবং -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])/