List
オブジェクトには、セパレータ付きの文字列に変換できるmkString
メソッドがあります。しかし、ほとんどの人間の言語は、リストを列挙するときに最後の要素を別のものとして扱います。自然言語(Scala)でリストを列挙する最良の方法は何ですか?
これを達成するためのコードサイズと効率性はどのように優れていますか?たとえば、A、B、C、Dなどです。
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")))
しかし、オックスフォード・コンマはどうですか? http://en.wikipedia.org/wiki/Serial_comma –