PowerShell v3 +, 60 78 67 ไบต์
-join(65..90|%{[char]$_+'.,'[$_-le89]+" "+"`n"*($_-in71,80,83,86)})
ตกลง. ฉันได้อ่านเข้าใจและทำตามสเป็คแล้วในตอนนี้ คำมั่นสัญญา : D
ใช้เวลาอาร์เรย์และลูปมากกว่าแต่ละองค์ประกอบ65..90
|%{...}
การวนซ้ำแต่ละครั้งเรากำลังสร้างสตริงใหม่โดยใช้การเรียงต่อกันการทำดัชนีและการคูณ
อันดับแรกเรารับหมายเลขปัจจุบันและchar
ส่งไปให้เป็นตัวอักษร ASCII นั่นคือการเชื่อมต่อกับตัวละครอื่นโดยยึดตามการจัดทำดัชนีลงในสตริง'.,'
ว่าเราอยู่ที่90
หรือไม่ (เช่นเพื่อพิจารณาZ.
ขณะที่ส่วนที่เหลือเป็นจุลภาค) นั่นคือสตริงที่ต่อกับ" "
ช่องว่างเพื่อแยกตัวอักษรและการคูณสตริง"`n"
ตามค่าบูลีนว่าองค์ประกอบปัจจุบันเป็น-in
อาร์เรย์ที่ระบุหรือไม่ สตริงผลลัพธ์ถูกทิ้งไว้บนไพพ์ไลน์
สตริงเหล่านั้นถูกห่อหุ้มด้วย parens และ-join
รวมเข้าด้วยกันเป็นสตริงใหม่ซึ่งจากนั้นจะถูกทิ้งไว้บนไพพ์ไลน์และโดยปริยายWrite-Output
ในตอนท้ายจะพิมพ์ผลลัพธ์ เนื่องจากเรามี`n
อยู่ในสตริงจึงถูกแปลงเป็นบรรทัดใหม่โดยอัตโนมัติเมื่อพิมพ์
ต้องการ v3 + สำหรับ-in
ผู้ปฏิบัติงาน มีพื้นที่ต่อท้ายในแต่ละบรรทัดซึ่งก็โอเคตามรายละเอียดการท้าทาย
ตัวอย่าง
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])/