aboutsummaryrefslogtreecommitdiff
path: root/builtins/text.c
diff options
context:
space:
mode:
Diffstat (limited to 'builtins/text.c')
-rw-r--r--builtins/text.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/builtins/text.c b/builtins/text.c
index a1a98a00..df90b382 100644
--- a/builtins/text.c
+++ b/builtins/text.c
@@ -1449,6 +1449,17 @@ public array_t Text$split(Text_t text, Text_t pattern)
return chunks;
}
+public Text_t Text$join(Text_t glue, array_t pieces)
+{
+ if (pieces.length == 0) return (Text_t){.length=0};
+
+ Text_t result = *(Text_t*)pieces.data;
+ for (int64_t i = 1; i < pieces.length; i++) {
+ result = Text$concat(result, glue, *(Text_t*)(pieces.data + i*pieces.stride));
+ }
+ return result;
+}
+
public Text_t Text$format(const char *fmt, ...)
{
va_list args;