On Thursday, June 28, 2018 09:26:10 Flaze07 via Digitalmars-d-learn wrote: > On Thursday, 28 June 2018 at 08:52:33 UTC, Simen Kjærås wrote: > > On Thursday, 28 June 2018 at 08:36:54 UTC, Flaze07 wrote: > >> is there some sort of ways to turn range into tuple ? ( an > >> array preferably ) > >> e.g > >> uint[] arr = [ 10, 20, 30 ]; > >> auto tup = rangeToTup( arr ); > >> assert( tup[ 0 ] == 10 ); > >> assert( tup[ 1 ] == 20 ); > >> assert( tup[ 2 ] == 30 ); > > > > https://dlang.org/phobos/std_meta#aliasSeqOf > > > > -- > > > > Simen > > what about during runtime ?
Ranges in general have an arbitrary length, whereas tuples have a fixed length that is known at compile time. So, it really doesn't make sense to convert a range to a tuple. You can create function that takes the first x number of elements of a range (probably throwing if the range is too short) and create a tuple from those elements, but it would be a bit of a pain to do, and it would generally be a pretty weird thing to do. A dynamic array would make a lot more sense than a tuple. - Jonathan M Davis