[Gambas-user] Explictly sized array parameters in method signatures?

2015-01-27 Thread adamn...@gmail.com
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?

2015-01-27 Thread T Lee Davidson
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?

2015-01-27 Thread adamn...@gmail.com
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