diff options
Diffstat (limited to 'gen')
-rw-r--r-- | gen/src/gleam@string.erl | 7 | ||||
-rw-r--r-- | gen/test/gleam@string_test.erl | 12 |
2 files changed, 17 insertions, 2 deletions
diff --git a/gen/src/gleam@string.erl b/gen/src/gleam@string.erl index c94fb9f..5d85771 100644 --- a/gen/src/gleam@string.erl +++ b/gen/src/gleam@string.erl @@ -1,7 +1,7 @@ -module(gleam@string). -compile(no_auto_import). --export([length/1, lowercase/1, uppercase/1, compare/2, reverse/1, split/2, replace/3, append/2, concat/1]). +-export([length/1, lowercase/1, uppercase/1, compare/2, reverse/1, split/2, replace/3, append/2, concat/1, join/2]). length(A) -> string:length(A). @@ -36,3 +36,8 @@ append(First, Second) -> concat(Strings) -> gleam@iodata:to_string(gleam@iodata:from_strings(Strings)). + +join(Strings, Separator) -> + gleam@iodata:to_string( + gleam@iodata:from_strings(gleam@list:intersperse(Strings, Separator)) + ). diff --git a/gen/test/gleam@string_test.erl b/gen/test/gleam@string_test.erl index 777c498..ed4b204 100644 --- a/gen/test/gleam@string_test.erl +++ b/gen/test/gleam@string_test.erl @@ -1,7 +1,7 @@ -module(gleam@string_test). -compile(no_auto_import). --export([length_test/0, lowercase_test/0, uppercase_test/0, reverse_test/0, split_test/0, replace_test/0, append_test/0, compare_test/0, concat_test/0]). +-export([length_test/0, lowercase_test/0, uppercase_test/0, reverse_test/0, split_test/0, replace_test/0, append_test/0, compare_test/0, concat_test/0, join_test/0]). length_test() -> gleam@expect:equal(gleam@string:length(<<"ß↑e̊">>), 3), @@ -51,3 +51,13 @@ concat_test() -> gleam@string:concat([<<"Hello">>, <<", ">>, <<"world!">>]), <<"Hello, world!">> ). + +join_test() -> + gleam@expect:equal( + gleam@string:join([<<"Hello">>, <<"world!">>], <<", ">>), + <<"Hello, world!">> + ), + gleam@expect:equal( + gleam@string:join([<<"Hello">>, <<"world!">>], <<"-">>), + <<"Hello-world!">> + ). |