string[int[][]] ??
    Steven Schveighoffer 
    schveiguy at yahoo.com
       
    Thu Jul 22 14:05:35 PDT 2010
    
    
  
On Thu, 22 Jul 2010 16:57:59 -0400, dcoder <dcoder at devenull.dev> wrote:
> == Quote from dcoder (dcoder at devnull.com)'s article
>> Hello.  I want to use associative arrays, but have a 2-d int array as my
>> index.  so something like:
>> string[int[][]] chessboard;
>> chessboard[[0,0]] = "Rook";
>> chessboard[[0,1]] = "Knight";
>> Is this possible?  I can declare chessboard without any compiler  
>> complaints,
>> but I haven't figured out how to assign anything to it.
>> Any help would be appreciated.
>> thanks!
>> dcoder
>
>
> Ooops, I just realized that int[someX][someY] needs to evaluate to an  
> int, so that
> my statement above doesn't make any sense.
>
> Still, is there anyway I can keep the spirit of a double index to a  
> chessboard
> without having to create a Coordinate object and define relational  
> orderings?
This is what I think you should use:
string[int[2]]
Although, I'm not sure if you can then do something like:
chessboard[[0,1]] = "Rook";
as the [0, 1] is typed as a dynamic array.  If it does work, it may  
actually create [0,1] on the heap and then pass it as an int[2], which  
would suck.
Or, if you know how big your chessboard is (8x8 isn't a lot of memory),  
then:
string[8][8] chessboard;
is pretty straightforward :)
-Steve
    
    
More information about the Digitalmars-d-learn
mailing list