View Problem

Join the elements of a list, separated by commas

Given the list [Apple, Banana, Carrot] produce "Apple, Banana, Carrot"
ExpandDiskEdit
java
StringBuffer sb = new StringBuffer();
for (Iterator it = fruit.iterator(); it.hasNext();) {
sb.append(it.next());
if (it.hasNext()) {
sb.append(", ");
}
}
String result = sb.toString();
ExpandDiskEdit
java 1.5 or later
StringBuilder sb = new StringBuilder(fruit.get(0));
for (String item : fruit.subList(1, fruit.size())) sb.append(", ").append(item);
String result = sb.toString();
ExpandDiskEdit
java org.apache.commons
String result = StringUtils.join(fruit, ", ");
DiskEdit
csharp .NET 3.5
using System.Collections.Generic;
public class JoinEach {
public static void Main() {
var list = new List<string>() {"Apple", "Banana", "Carrot"};
System.Console.WriteLine( string.Join(", ", list.ToArray()) );
}
}
ExpandDiskEdit
cpp C++/CLI .NET 2.0
String^ result = String::Join(L", ", fruit->ToArray());
ExpandDiskEdit
cpp boost
string fruits[] = {"Apple", "Banana", "Carrot"};
string result = boost::algorithm::join(fruits, ", ");
ExpandDiskEdit
erlang
Result = string:join(Fruit, ", "),
ExpandDiskEdit
erlang
Result = lists:foldl(fun (E, Acc) -> Acc ++ ", " ++ E end, hd(Fruit), tl(Fruit)),
ExpandDiskEdit
erlang
Result = lists:flatten([ hd(Fruit) | [ ", " ++ X || X <- tl(Fruit)]]).
ExpandDiskEdit
fsharp
let result = String.Join(", ", [|"Apple"; "Banana"; "Carrot"|])
ExpandDiskEdit
fsharp
let result = (List.fold_left (fun acc item -> acc ^ (", " ^ item)) (List.hd fruit) (List.tl fruit))
ExpandDiskEdit
fsharp
let result = (List.fold_left (fun (acc : StringBuilder) (item : string) -> acc.Append(", ").Append(item)) (new StringBuilder(List.hd fruit)) (List.tl fruit)).ToString()
ExpandDiskEdit
fantom
["Apple", "Banana", "Carrot"].join(", ")
ExpandDiskEdit
groovy
string = fruit.join(', ')
ExpandDiskEdit
groovy
string = fruit.toString()[1..-2]

Submit a new solution for java, csharp, cpp, erlang ...
There are 14 other solutions in additional languages (clojure, go, haskell, ocaml ...)