[Gambas-user] Explictly sized array parameters in method signatures?
Hmm, I've never tried this before. Suppose a function GetCurrent(DateRange as Date[]), now intuitively DateRange is an array of 2 dates. No-one would be silly enough to pass an array with more than two elements would they? My cynical nature says yes they could/would. I could ignore the array length and just use DateRange[0] and DateRange[1] as the limits but that may produce confusing outcomes, or an error if DateRange contains only one element. I would like to define the function as GetCurrent(DateRange as Date[2]) but this is apparently a syntax error. Obviously, in this trivialised example, I could check the bounds of the passed array in the function body, I just expected that the runtime would check an explicitly sized array parameter. The real function is (of course) much more complex. The function requires an array of Dates[3][2] and another 5 parameters, some of which are optional. Any thoughts? Bruce -- B Bruen adamn...@gnail.com (sort of) -- Dive into the World of Parallel Programming. The Go Parallel Website, sponsored by Intel and developed in partnership with Slashdot Media, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials and more. Take a look and join the conversation now. http://goparallel.sourceforge.net/ ___ Gambas-user mailing list Gambas-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/gambas-user
Re: [Gambas-user] Explictly sized array parameters in method signatures?
This may be over-simplified, but couldn't you define a DateRange structure? Or would that not provide the constraints you need? Lee __ Artificial Intelligence is no match for natural stupidity. On 01/27/2015 08:02 PM, adamn...@gmail.com wrote: Hmm, I've never tried this before. Suppose a function GetCurrent(DateRange as Date[]), now intuitively DateRange is an array of 2 dates. No-one would be silly enough to pass an array with more than two elements would they? My cynical nature says yes they could/would. I could ignore the array length and just use DateRange[0] and DateRange[1] as the limits but that may produce confusing outcomes, or an error if DateRange contains only one element. I would like to define the function as GetCurrent(DateRange as Date[2]) but this is apparently a syntax error. Obviously, in this trivialised example, I could check the bounds of the passed array in the function body, I just expected that the runtime would check an explicitly sized array parameter. The real function is (of course) much more complex. The function requires an array of Dates[3][2] and another 5 parameters, some of which are optional. Any thoughts? Bruce -- Dive into the World of Parallel Programming. The Go Parallel Website, sponsored by Intel and developed in partnership with Slashdot Media, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials and more. Take a look and join the conversation now. http://goparallel.sourceforge.net/ ___ Gambas-user mailing list Gambas-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/gambas-user
Re: [Gambas-user] Explictly sized array parameters in method signatures?
On Wed, 28 Jan 2015 00:43:26 -0500 T Lee Davidson t.lee.david...@gmail.com wrote: This may be over-simplified, but couldn't you define a DateRange structure? Or would that not provide the constraints you need? Lee __ Artificial Intelligence is no match for natural stupidity. Aha! That was the clue! It's actually a struct of structs (3x2) Good thinking 99, I'll give that a go. B -- B Bruen adamn...@gnail.com (sort of) -- Dive into the World of Parallel Programming. The Go Parallel Website, sponsored by Intel and developed in partnership with Slashdot Media, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials and more. Take a look and join the conversation now. http://goparallel.sourceforge.net/ ___ Gambas-user mailing list Gambas-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/gambas-user