Đối tượng List
có phương thức mkString
có thể chuyển đổi thành chuỗi có seperator. Tuy nhiên, hầu hết ngôn ngữ của con người đối xử với yếu tố cuối cùng khác nhau khi liệt kê một danh sách. Ví dụ A, B, C và D.Cách tốt nhất để liệt kê một danh sách bằng ngôn ngữ tự nhiên (Scala) là gì?
Điều gì là tốt nhất về kích thước mã và hiệu quả hợp lý để thực hiện việc này? Để được chính xác, tôi đang tìm kiếm một chức năng mà đáp ứng:
assertEquals("",foo(List()))
assertEquals("A",foo(List("A")))
assertEquals("A and B",foo("List("A","B")))
assertEquals("A, B and C", foo(List("A","B","C")))
assertEquals("A, B, C and D", foo(List("A","B","C","D")))
Nhưng còn về Oxford Comma thì sao? http://en.wikipedia.org/wiki/Serial_comma –