| Thread overview | |||||
|---|---|---|---|---|---|
|
September 17, 2012 int[][] better type match than int[] for int[]?! | ||||
|---|---|---|---|---|
| ||||
This completely surprised me:
bool doMatch(int[] lhsArr, int[][] arrArr)
{
foreach (int[] rhsArr; arrArr)
{
writeln("if (!doMatch(lhsArr, arrArr))");
if (!.doMatch(lhsArr, arrArr))
return false;
}
return true;
}
bool doMatch(int[] lhsArr, int[] rhsArr)
{
return true;
}
void main()
{
int[] x = [1, 2];
int[][] y = [[1, 2], [1, 2]];
bool b = doMatch(x, y);
}
This will enter an infinite loop because the first doMatch overload gets recursively called. I don't understand why the second overload isn't picked up as a match in the call "doMatch(lhsArr, arrArr)".
| ||||
September 17, 2012 Re: int[][] better type match than int[] for int[]?! | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Andrej Mitrovic | On Mon, 17 Sep 2012 09:21:41 -0400, Andrej Mitrovic <andrej.mitrovich@gmail.com> wrote: > This completely surprised me: > > bool doMatch(int[] lhsArr, int[][] arrArr) > { > foreach (int[] rhsArr; arrArr) > { > writeln("if (!doMatch(lhsArr, arrArr))"); > > if (!.doMatch(lhsArr, arrArr)) Don't you mean: if(!.doMatch(lhsArr, rhsArr)) ?? > return false; > } > > return true; > } > > bool doMatch(int[] lhsArr, int[] rhsArr) > { > return true; > } > > void main() > { > int[] x = [1, 2]; > int[][] y = [[1, 2], [1, 2]]; > > bool b = doMatch(x, y); > } > > This will enter an infinite loop because the first doMatch overload > gets recursively called. I don't understand why the second overload > isn't picked up as a match in the call "doMatch(lhsArr, arrArr)". Because arrArr is an int[][] :) -Steve | |||
September 17, 2012 Re: int[][] better type match than int[] for int[]?! | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Steven Schveighoffer | On 9/17/12, Steven Schveighoffer <schveiguy@yahoo.com> wrote:
> Don't you mean:
>
> if(!.doMatch(lhsArr, rhsArr))
yessssssss.. oh man I need reading glasses! Or an IDE to warn me of my own mistakes! (preferably one that doesn't crash).
Another thread to nuke. :P
| |||
Copyright © 1999-2021 by the D Language Foundation
Permalink
Reply