From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM autolearn=unavailable autolearn_force=no version=3.4.4 X-Received: by 10.67.24.99 with SMTP id ih3mr8689856pad.14.1413153237973; Sun, 12 Oct 2014 15:33:57 -0700 (PDT) X-Received: by 10.182.241.227 with SMTP id wl3mr100583obc.7.1413153237845; Sun, 12 Oct 2014 15:33:57 -0700 (PDT) Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!mx02.eternal-september.org!news.eternal-september.org!feeder.eternal-september.org!news.glorb.com!uq10no9505527igb.0!news-out.google.com!rp1ni27119igb.0!nntp.google.com!uq10no9505525igb.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Sun, 12 Oct 2014 15:33:57 -0700 (PDT) In-Reply-To: Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=24.36.114.177; posting-account=39pqWgoAAADkep0zRfYwywOXjRBV2-ic NNTP-Posting-Host: 24.36.114.177 References: <294a973f-5222-4aa3-8971-777cd2eb9174@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <313c39ae-dd7b-4993-910a-0f28dfc35b65@googlegroups.com> Subject: Re: tasks as part of record From: compguy45@gmail.com Injection-Date: Sun, 12 Oct 2014 22:33:57 +0000 Content-Type: text/plain; charset=ISO-8859-1 Xref: news.eternal-september.org comp.lang.ada:22402 Date: 2014-10-12T15:33:57-07:00 List-Id: On Monday, October 6, 2014 4:24:02 AM UTC-4, Simon Wright wrote: > > > > > I though it would be easier if task is componenet of record. What i > > > would like is that every time task runs i would like to operate on > > > components of student record. > > > For example for each student there will be one tasks. When each tasks > > > run i want it to identify yourself to the screen with student number > > > value. For example > > > > > > This is task #. -- where # is student number > > > > I'm not saying this is a good idea; limited types can be awkward, and > > there will be all sorts of problems with the tasking if you ever want to > > delete a student. But, for the record, > > > > with Ada.Text_IO; use Ada.Text_IO; > > procedure Strib is > > type Student; > > task type T (This : access Student) is > > entry Start (Number : Positive); > > end T; > > type Student is limited record -- has to be limited > > Student_Number : Positive range 1 .. 10; > > Name : String (1 .. 10); > > Count : Integer; > > The_Task : T (Student'Access); -- the current Student > > end record; > > task body T is > > begin > > accept Start (Number : Positive) do > > Put_Line ("starting task" & Positive'Image (Number)); > > This.Student_Number := Number; > > end Start; > > delay 1.0; > > Put_Line ("this is task" & Positive'Image (This.Student_Number)); > > end T; > > Students : array (1 .. 10) of Student; > > begin > > for J in Students'Range loop > > Students (J).The_Task.Start (Number => J); > > end loop; > > end Strib; Doesnt this code above give warning "warning: variable "Students" is read but never assigned"??