From d03b82cde726d22fdf5fa2f9dc8e713d3f320f8a Mon Sep 17 00:00:00 2001 From: "Wilson E. Alvarez" Date: Thu, 30 Dec 2021 21:27:18 -0500 Subject: [PATCH] Expose String::join over to GDScript --- core/variant_call.cpp | 2 ++ doc/classes/String.xml | 11 +++++++++++ 2 files changed, 13 insertions(+) diff --git a/core/variant_call.cpp b/core/variant_call.cpp index 24e16e13361e..c1590c78ee8a 100644 --- a/core/variant_call.cpp +++ b/core/variant_call.cpp @@ -268,6 +268,7 @@ struct _VariantCall { VCALL_LOCALMEM3R(String, split); VCALL_LOCALMEM3R(String, rsplit); VCALL_LOCALMEM2R(String, split_floats); + VCALL_LOCALMEM1R(String, join); VCALL_LOCALMEM0R(String, to_upper); VCALL_LOCALMEM0R(String, to_lower); VCALL_LOCALMEM1R(String, left); @@ -1669,6 +1670,7 @@ void register_variant_methods() { ADDFUNC3R(STRING, POOL_STRING_ARRAY, String, split, STRING, "delimiter", BOOL, "allow_empty", INT, "maxsplit", varray(true, 0)); ADDFUNC3R(STRING, POOL_STRING_ARRAY, String, rsplit, STRING, "delimiter", BOOL, "allow_empty", INT, "maxsplit", varray(true, 0)); ADDFUNC2R(STRING, POOL_REAL_ARRAY, String, split_floats, STRING, "delimiter", BOOL, "allow_empty", varray(true)); + ADDFUNC1R(STRING, STRING, String, join, POOL_STRING_ARRAY, "parts", varray()); ADDFUNC0R(STRING, STRING, String, to_upper, varray()); ADDFUNC0R(STRING, STRING, String, to_lower, varray()); diff --git a/doc/classes/String.xml b/doc/classes/String.xml index e7cc6b390820..749129451488 100644 --- a/doc/classes/String.xml +++ b/doc/classes/String.xml @@ -480,6 +480,17 @@ Returns [code]true[/code] if this string contains only a well-formatted IPv4 or IPv6 address. This method considers [url=https://en.wikipedia.org/wiki/Reserved_IP_addresses]reserved IP addresses[/url] such as [code]0.0.0.0[/code] as valid. + + + + + Return a [String] which is the concatenation of the [code]parts[/code]. The separator between elements is the string providing this method. + Example: + [codeblock] + print(", ".join(["One", "Two", "Three", "Four"])) + [/codeblock] + +