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.7 required=5.0 tests=BAYES_00,INVALID_DATE, MSGID_SHORT,REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uunet!seas.gwu.edu!mfeldman From: mfeldman@seas.gwu.edu (Michael Feldman) Newsgroups: comp.lang.ada Subject: Re: integer'image Message-ID: <2577@sparko.gwu.edu> Date: 20 Jan 91 23:10:33 GMT References: <2563@sparko.gwu.edu> <10140@as0c.sei.cmu.edu> <1991Jan20.025451.29808@ucselx.sdsu.edu> Reply-To: mfeldman@seas.gwu.edu () Organization: The George Washington University, Washington D.C. List-Id: In article <1991Jan20.025451.29808@ucselx.sdsu.edu> hoysch@ucselx.sdsu.edu ( Hoysch) writes: > > I think a big thing is being made out of something that is not very >hard to do. For example INTEGER'IMAGE(I)(2..INTEGER'IMAGE(I)'LAST) will >do it or a very simple routine if this is too hard on the eyes. That >space, as has been pointed out, is often nice to have to offset the '-' >of negative numbers. > Well, that'll work if I is positive. Otherwise it'll delete the -. So in any case a test is needed to ascertain the sign. I'd prefer for 'image to give me what's there, not add extra stuff that I have to delete. One purpose for the 'image and 'value attributes, it seems to me, is to aid in _writing_ I/O packages in lieu of (or on top of) Text_IO. The extra blank just adds an extra bit of aggravation. I'd be happier with it if it incorporated a general "pad" parameter, but it doesn't. Recall that the thing that started this thread was developing a terminal- control package that could easily ship ASCII sequences to a terminal to do cursor movement, etc. There is no doubt that what you wrote is correct, for positive values. I was complaining about the arbitrary lack of uniformity in attributes, and this was the latest. I claim it's much easier to _add_ a blank to get the symmetry between positive and negative numbers than to _delete_ the blank as you did. Ada9x is looking into the whole problem of "edit-directed output", which will, if they really do it well, solve a lot of these problems in a much more general way. Meanwhile, I don't like the asymmetry between integer PUT and integer'image; in the former I can control the width precisely because they thought to give me a parameter; in the latter I cannot, and they decided to stick me with a gratuitous blank. I don't think gratuitous padding is very user-friendly. The early subset compilers, by the way, didn't add the blank - it got stuck in there somewhere between the '80 and '83 versions of the standard, and I think they blew it. Mike