อะไรคือแนวทางที่ฉลาด (สั้นและเป็นสำนวน) ในการจดรายการสตริงและส่งคืนสตริงที่คั่นด้วยเครื่องหมายอย่างเดียวที่ถูกสร้างขึ้นจากรายการโดยแต่ละองค์ประกอบมีการอ้างอิง
สิ่งนี้เกิดขึ้นกับฉันในขณะที่กำลังทดลองกับ Groovyซึ่งเป็นวิธีแก้ปัญหาที่แท้จริงของฉัน
def temp = things.collect({"\'${it}\'"})
switch (things.size()) {
case 1:
result = temp[0]
break
case 2:
result = temp.join(" and ")
break
default:
result = temp.take(temp.size()-1).join(", ") + ", and " + temp[-1]
break
}
นั่นคือการ['1']
ควรผลผลิต'1'
, ['1','2']
ควรผลผลิต'1 and 2'
[ดูสิ่งที่ฉันได้มี?] และควรผลผลิต['1','2','3']
'1, 2, and 3'
ฉันมีคำตอบที่ดีสำหรับ Groovy แต่ฉันต้องการดูว่าภาษาอื่นสามารถทำอะไรได้บ้าง
อะไรคือแนวทางที่กะทัดรัดในภาษาต่าง ๆ ที่ใช้ประโยชน์จากคุณลักษณะและสำนวนของภาษาเหล่านั้น
['we invited the stripper','JFK','Stalin']