From 84cfab50958409c862ec4bb36d7e32dec266e84b Mon Sep 17 00:00:00 2001 From: Peter Saxton Date: Fri, 29 May 2020 08:41:16 +0100 Subject: add append function --- src/gleam/binary.gleam | 9 +++++++++ src/gleam/binary_native.erl | 5 ++++- 2 files changed, 13 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/gleam/binary.gleam b/src/gleam/binary.gleam index 7c7e308..7ce8c3e 100644 --- a/src/gleam/binary.gleam +++ b/src/gleam/binary.gleam @@ -11,6 +11,15 @@ pub external fn from_string(String) -> Binary = pub external fn byte_size(Binary) -> Int = "erlang" "byte_size" +/// Create a new binary by joining two binaries. +/// +/// ## Examples +/// +/// > append(to: "butter", suffix: "fly") +/// "butterfly" +/// +pub external fn append(first: Binary, second: Binary) -> Binary = "binary_native" "append" + /// Extracts part of a binary. /// /// Binary part will start at given position and continue up to specified length. diff --git a/src/gleam/binary_native.erl b/src/gleam/binary_native.erl index 1969602..c7dfad7 100644 --- a/src/gleam/binary_native.erl +++ b/src/gleam/binary_native.erl @@ -1,5 +1,8 @@ -module (binary_native). --export ([int_to_u32/1, int_from_u32/1, part/3]). +-export ([int_to_u32/1, int_from_u32/1, append/2, part/3]). + +append(First, Second) -> + <>. part(Bin, Pos, Len) -> try {ok, binary:part(Bin, Pos, Len)} catch -- cgit v1.2.3