Arguments of function as an array.

ag0aep6g anonymous at example.com
Thu Apr 26 21:35:34 UTC 2018


On 04/26/2018 11:28 PM, Jonathan wrote:
> Is there a way in D to take past arguments as an array?  A like a normal 
> Variadic function.  All the arguments should be of the same type just as 
> an array.
> 
> Basically I want to allow a function like this to be called without 
> square brackets.
> 
> void fun(int[] intArray) {
>      //...
> }
> void main() {
>      fun([5,6,4]);
> }
> 
> Like  this:
> 
> void fun(int... intArray) {
>      //typeof(intArray) is `int[]`
> }
> void main() {
>      fun(5,6,4);
> }
> 
> Is this doable in D?

void fun(int[] intArray ...) {}

https://dlang.org/spec/function.html#typesafe_variadic_functions

Note that such an array is not garbage collected. It's a slice of the 
stack. Don't return it from the function.


More information about the Digitalmars-d-learn mailing list