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=-0.3 required=5.0 tests=BAYES_00, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!mx02.eternal-september.org!feeder.eternal-september.org!aioe.org!.POSTED!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: A few questions Date: Thu, 12 Nov 2015 21:56:26 +0100 Organization: cbb software GmbH Message-ID: References: Reply-To: mailbox@dmitry-kazakov.de NNTP-Posting-Host: j6IQVb9uobzjXrpQLDU2rQ.user.speranza.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Complaints-To: abuse@aioe.org User-Agent: 40tude_Dialog/2.0.15.1 X-Notice: Filtered by postfilter v. 0.8.2 Xref: news.eternal-september.org comp.lang.ada:28338 Date: 2015-11-12T21:56:26+01:00 List-Id: On Thu, 12 Nov 2015 12:28:46 -0600, Randy Brukardt wrote: > Personally, I find the "of" form unnecessary; we've iterated arrays for > decades without direct access to the element (using the "cursor", that is > the array index), so why are containers different? Of course it is different. Index does not iterate array, it does the array's index range. That is the difference. You can iterate elements of a container or indices of a container. It is not same. > Especially as the > indexing form works on all of the language-defined containers (you never > need to explicitly call Reference or Element). So an "in" iterator looks > just like the array iteration that we've been using from the beginning of > time. What's so hard about that? There could be cases when a container does not have any natural index. E.g. a bag, a set, a files directory etc. You could iterate elements of without inventing indices. Especially when the index is volatile. Consider an implementation that gets a result set of a DB query and then iterates the result. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de