From: SourceForge.net <no...@so...> - 2007-06-20 13:42:33
|
Feature Requests item #1727936, was opened at 2007-05-29 17:47 Message generated for change (Comment added) made by bigrixx You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=684733&aid=1727936&group_id=119701 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Classes Group: Next Release Status: Pending Resolution: Fixed Priority: 5 Private: No Submitted By: Rony G. Flatscher (orexx) >Assigned to: David Ashley (wdashley) Summary: Array's "first"-method: add multidimensionality support Initial Comment: Now that the array class supports a single-dimension object as an index for multidimensional arrays, the method "first" should support that feature as well. An implementation to support this feature may look like (tested): ---------------- cut here --------------- ::method first -- single & multidimensional first d=self~dimension -- get number of dimensions if d=0 then return .nil -- no dimension yet (result of ".array~new") if d=1 then return 1 -- return integer a=.array~new -- create & return array object do d -- set all indexes to "1" a~append(1) end return a ---------------- cut here --------------- ---------------------------------------------------------------------- >Comment By: Rick McGuire (bigrixx) Date: 2007-06-20 09:42 Message: Logged In: YES user_id=1125291 Originator: NO Remove the restriction about FIRST only working on single-dimension arrays. ---------------------------------------------------------------------- Comment By: Rick McGuire (bigrixx) Date: 2007-05-29 18:35 Message: Logged In: YES user_id=1125291 Originator: NO Committed revision 411. ---------------------------------------------------------------------- Comment By: Rony G. Flatscher (orexx) Date: 2007-05-29 18:08 Message: Logged In: YES user_id=662126 Originator: YES Oh, I see! (But then that's true for all the other three as well. They either return the index of the first/last or next/previous item, not the first/last/next/previous index, if that has no entry.) ---------------------------------------------------------------------- Comment By: Rick McGuire (bigrixx) Date: 2007-05-29 18:01 Message: Logged In: YES user_id=1125291 Originator: NO This is not equivalent to the existing first method for arrays. The first method returns the index of the first real item within the array, not the index of the first addressable slot. For example, x = .array~new x[3] = 5 say x~first -- displays "3", not "1" the last method has a similar problem. In order to implement this, you'd need to define what the iteration order for a multi-dimensional array. Fortunately, there is a precedent with the "makearray" function. This function will be easier to implement in the base C++ code than in Rexx code as all of the pieces already exist to implement this. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=684733&aid=1727936&group_id=119701 |