อะไรคือความแตกต่างอย่างเป็นทางการใน Scala ระหว่างวงเล็บปีกกาและวงเล็บและควรใช้เมื่อใด?
เป็นความแตกต่างอย่างเป็นทางการระหว่างการขัดแย้งผ่านฟังก์ชั่นในวงเล็บอะไร()และในการจัดฟัน{}? ความรู้สึกที่ฉันได้รับจากการเขียนโปรแกรมในหนังสือสกาล่าคือความยืดหยุ่นของสกาล่าและฉันควรใช้สิ่งที่ฉันชอบที่สุด แต่ฉันพบว่าบางกรณีก็คอมไพล์ในขณะที่คนอื่นไม่ทำ ตัวอย่างเช่น (หมายถึงเพียงตัวอย่างฉันจะขอบคุณคำตอบใด ๆ ที่กล่าวถึงกรณีทั่วไปไม่ใช่เฉพาะตัวอย่างนี้เท่านั้น): val tupleList = List[(String, String)]() val filtered = tupleList.takeWhile( case (s1, s2) => s1 == s2 ) => ข้อผิดพลาด: การเริ่มต้นของการแสดงออกอย่างง่ายที่ผิดกฎหมาย val filtered = tupleList.takeWhile{ case (s1, s2) => s1 == s2 } => สบายดี