From: mheaney@on2.com (Matthew Heaney)
Subject: Re: [newbie] simple(?) data structures
Date: 23 Jun 2004 17:09:40 -0700
Date: 2004-06-23T17:09:40-07:00 [thread overview]
Message-ID: <1ec946d1.0406231609.11a051cb@posting.google.com> (raw)
In-Reply-To: 2j1e30Fsrg8vU1@uni-berlin.de
Roland Illig <roland.illig@gmx.de> wrote in message news:<2j1e30Fsrg8vU1@uni-berlin.de>...
> Hi,
>
> I'm doing my first steps with Ada. I tried to model a Go board and
> failed. In Java/C++, I would do it like this:
>
> enum Stone { Empty, Black, White };
>
> class Go_Board {
> private Stone[][] data;
>
> public Go_Board(int size) {
> data = new Stone[size][size];
> }
> public int getWidth() {
> return data[0].length;
> }
> public int getHeight() {
> return data.length;
> }
> public Stone getStone(int x, int y) {
> return data[y][x];
> }
> }
> /* EOF */
>
> How can I do this in Ada? I already tried something with packages and
> generics, but that did not look nice. But I want it to look nice and Adaish.
You didn't need generics for the Java program, so therefore you don't
need them for the Ada program, either:
package Go_Boards is
type Board_Type (Size : Positive) is private;
type Stone_Type is (Empty, Black, White);
function Stone (Board : Board_Type) return Stone_Type;
--function Width (B : BT) return Positive; --same as B.Size?
private
type Data_Type is
array (Positive range <>, Positive range <>) of Stone_Type;
type Board_Type (Size : Positive) is record
Data : Data_Type (1 .. Size, 1 .. Size);
end record;
end Go_Boards;
I haven't tried compiling this, but I think it should work.
next prev parent reply other threads:[~2004-06-24 0:09 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-06-12 22:23 [newbie] simple(?) data structures Roland Illig
2004-06-12 22:52 ` Frank
2004-06-13 0:10 ` Ludovic Brenta
2004-06-13 3:13 ` Roland Illig
2004-06-13 7:59 ` Marius Amado Alves
2004-06-13 11:56 ` Ludovic Brenta
2004-06-13 14:47 ` Stephen Leake
2004-06-13 18:24 ` Jeffrey Carter
2004-06-13 0:31 ` Jeffrey Carter
2004-06-13 1:26 ` tmoran
2004-06-13 2:47 ` tmoran
2004-06-13 3:53 ` Roland Illig
2004-06-13 10:12 ` Georg Bauhaus
2004-06-13 23:32 ` Robert I. Eachus
2004-06-14 12:29 ` Georg Bauhaus
2004-06-13 4:46 ` Steve
2004-06-13 4:59 ` tmoran
2004-06-13 17:58 ` Jeffrey Carter
2004-06-16 11:08 ` Roland Illig
2004-06-16 21:05 ` Georg Bauhaus
2004-06-16 23:23 ` Roland Illig
2004-06-17 0:44 ` Jeffrey Carter
2004-06-17 12:37 ` Hyman Rosen
2004-06-17 13:11 ` Björn Persson
2004-06-18 9:55 ` Ole-Hjalmar Kristensen
2004-06-18 11:03 ` Björn Persson
2004-06-18 12:04 ` Hyman Rosen
2004-06-22 8:11 ` Ole-Hjalmar Kristensen
2004-06-18 0:20 ` David Starner
2004-06-18 5:06 ` Hyman Rosen
2004-06-18 5:47 ` Martin Krischik
2004-06-18 7:30 ` Brian May
2004-06-18 14:21 ` Larry Kilgallen
2004-06-19 19:51 ` Robert I. Eachus
2004-06-18 15:04 ` Georg Bauhaus
2004-06-19 2:02 ` James Rogers
2004-06-18 9:51 ` Ole-Hjalmar Kristensen
2004-06-27 13:12 ` Jacob Sparre Andersen
2004-06-24 0:09 ` Matthew Heaney [this message]
2004-06-24 14:50 ` Nick Roberts
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox