package org.jerlang.stdlib.lists;
import org.jerlang.erts.erlang.Error;
import org.jerlang.type.List;
import org.jerlang.type.Str;
import org.jerlang.type.Term;
public class ListsConcat {
private ListsConcat() {
}
public static Term dispatch(List params) {
switch (params.length()) {
case 1:
return concat_1(params.head().toList());
default:
throw Error.badarg;
}
}
/**
* Concatenates the text representation of the elements of Things.
* The elements of Things can be atoms, integers, floats or strings.
*
* http://www.erlang.org/doc/man/lists.html#concat-1
*/
public static List concat_1(List things) {
StringBuilder stringBuilder = new StringBuilder();
while (things.length() > 0) {
stringBuilder.append(things.head());
things = things.tail();
}
return Str.of(stringBuilder.toString());
}
}