From: J. L. T. <jlt...@ce...> - 2013-08-19 05:30:17
|
Hi, I want to load records from a file into a stem, array using execio, make changes to the array (including adding and deleting items), then rewrite the array using execio (as I would using classic Rexx on the mainframe). Decrementing stem.0, which by convention indicates the number of items in the stem, does not seem to work; execio still writes out the original number of items. It looks like I should be able to use the remove method to remove a stem item, but it doesn't seem to do anything; when I rewrite the stem array with execio the item I attempted to remove is written to the file. (If execio was capable of reading from|writing to a non-stem array, this presumably would not be a problem?) Leslie : address HOSTEMU 'execio * diskr "/mnt/3/.holder" (finis stem record.' keyposition = recursiveBinarySearch(keyname,1,record.~items) if keyposition = 0 then do say 'Key' keyname 'does not exist.' exit 4 end else do say 'Key' keyname 'was found at postion' keyposition'.' r = keyposition record.[r]~remove address HOSTEMU 'execio * diskw "/mnt/3/.holder.new" (finis stem record.' end : |
From: David A. <w.d...@gm...> - 2013-08-19 13:01:30
|
The remove method does not know about or care about the contents of stem.0. Using stem.0 as a counter for the number of items in a stem variable is a programming convention and has nothing to do with the way stems work. The remove method simply invalidates the tail reference and does NOT modify the stem.0 value. David Ashley On Mon, 2013-08-19 at 00:30 -0500, J. Leslie Turriff wrote: > Hi, > > I want to load records from a file into a stem, array using execio, > make changes to the array (including adding and deleting items), then > rewrite the array using execio (as I would using classic Rexx on the > mainframe). > > Decrementing stem.0, which by convention indicates the number of items > in the stem, does not seem to work; execio still writes out the > original number of items. > > It looks like I should be able to use the remove method to remove a > stem item, but it doesn't seem to do anything; when I rewrite the stem > array with execio the item I attempted to remove is written to the > file. > > (If execio was capable of reading from|writing to a non-stem array, > this presumably would not be a problem?) > > Leslie > > * : > * address HOSTEMU 'execio * diskr "/mnt/3/.holder" (finis stem > record.' > * keyposition = recursiveBinarySearch(keyname,1,record.~items) > * if keyposition = 0 then > * do > * say 'Key' keyname 'does not exist.' > * exit 4 > * end > * else > * do > * say 'Key' keyname 'was found at postion' keyposition'.' > * r = keyposition > * record.[r]~remove > * address HOSTEMU 'execio * diskw "/mnt/3/.holder.new" (finis > stem record.' > * end > * : > > > ------------------------------------------------------------------------------ > Get 100% visibility into Java/.NET code with AppDynamics Lite! > It's a free troubleshooting tool designed for production. > Get down to code-level detail for bottlenecks, with <2% overhead. > Download for free and get started troubleshooting in minutes. > http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk > _______________________________________________ > Oorexx-users mailing list > Oor...@li... > https://lists.sourceforge.net/lists/listinfo/oorexx-users |
From: Chip D. <ch...@av...> - 2013-08-20 02:22:06
|
David is correct about the .0 tail of a stem: it's no different from any other tail, except that EXECIO uses it (for DISKR operations only) as a place to stash the number of the highest tail it created. EXECIO does not pay any attention to it for DISKW, probably because it doesn't trust us to have scrupulously maintained its value, as you seem to have. That does not mean that you can't use stem.0 for that purpose when writing out your array, however. 'EXECIO' stem.0 'DISKW' outfile '(STEM MYSTEM. FINIS' for example. Of course, MYSTEM. must still be monotonic (i.e. not sparse, with gaps in the index) for this to work correctly. -Chip- On 8/19/2013 09:01 David Ashley said: > The remove method does not know about or care about the contents of > stem.0. Using stem.0 as a counter for the number of items in a stem > variable is a programming convention and has nothing to do with the way > stems work. The remove method simply invalidates the tail reference and > does NOT modify the stem.0 value. > > David Ashley > > On Mon, 2013-08-19 at 00:30 -0500, J. Leslie Turriff wrote: >> Hi, >> >> I want to load records from a file into a stem, array using execio, >> make changes to the array (including adding and deleting items), then >> rewrite the array using execio (as I would using classic Rexx on the >> mainframe). >> >> Decrementing stem.0, which by convention indicates the number of items >> in the stem, does not seem to work; execio still writes out the >> original number of items. >> >> It looks like I should be able to use the remove method to remove a >> stem item, but it doesn't seem to do anything; when I rewrite the stem >> array with execio the item I attempted to remove is written to the >> file. >> >> (If execio was capable of reading from|writing to a non-stem array, >> this presumably would not be a problem?) >> >> Leslie >> >> * : >> * address HOSTEMU 'execio * diskr "/mnt/3/.holder" (finis stem >> record.' >> * keyposition = recursiveBinarySearch(keyname,1,record.~items) >> * if keyposition = 0 then >> * do >> * say 'Key' keyname 'does not exist.' >> * exit 4 >> * end >> * else >> * do >> * say 'Key' keyname 'was found at postion' keyposition'.' >> * r = keyposition >> * record.[r]~remove >> * address HOSTEMU 'execio * diskw "/mnt/3/.holder.new" (finis >> stem record.' >> * end >> * : >> >> >> ------------------------------------------------------------------------------ >> Get 100% visibility into Java/.NET code with AppDynamics Lite! >> It's a free troubleshooting tool designed for production. >> Get down to code-level detail for bottlenecks, with <2% overhead. >> Download for free and get started troubleshooting in minutes. >> http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk >> _______________________________________________ >> Oorexx-users mailing list >> Oor...@li... >> https://lists.sourceforge.net/lists/listinfo/oorexx-users > > > > ------------------------------------------------------------------------------ > Get 100% visibility into Java/.NET code with AppDynamics Lite! > It's a free troubleshooting tool designed for production. > Get down to code-level detail for bottlenecks, with <2% overhead. > Download for free and get started troubleshooting in minutes. > http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk > _______________________________________________ > Oorexx-users mailing list > Oor...@li... > https://lists.sourceforge.net/lists/listinfo/oorexx-users > |
From: J. L. T. <jlt...@ce...> - 2013-08-20 23:42:20
|
You're right, EXECIO does not use stem.0 for DISKW; I had misremembered that. On the other hand, mainframe EXECIO stops writing when it encounters a stem element whose value is unset or is the empty string; ooRexx EXECIO does not do this. Leslie On Monday 19 August 2013 20:45:42 Chip Davis wrote: > David is correct about the .0 tail of a stem: it's no different from > any other tail, except that EXECIO uses it (for DISKR operations only) > as a place to stash the number of the highest tail it created. > > EXECIO does not pay any attention to it for DISKW, probably because it > doesn't trust us to have scrupulously maintained its value, as you > seem to have. > > That does not mean that you can't use stem.0 for that purpose when > writing out your array, however. > > 'EXECIO' stem.0 'DISKW' outfile '(STEM MYSTEM. FINIS' > > for example. Of course, MYSTEM. must still be monotonic (i.e. not > sparse, with gaps in the index) for this to work correctly. > > -Chip- > > On 8/19/2013 09:01 David Ashley said: > > The remove method does not know about or care about the contents of > > stem.0. Using stem.0 as a counter for the number of items in a stem > > variable is a programming convention and has nothing to do with the way > > stems work. The remove method simply invalidates the tail reference and > > does NOT modify the stem.0 value. > > > > David Ashley > > |
From: Ruurd I. <ru...@id...> - 2013-08-20 21:39:30
|
This is the description of set~intersection: 5.3.14.4. intersection >>-intersection(argument)-------------------------------------->< Returns a new collection (of the same class as the receiver) containing only those items from the receiver whoseindexes are in both the receiver collection and the argument collection. The argument can be any collection class object. The argument must also allow all of the index values in the receiver collection. and I think this is the code for set~intersection in CoreClasses.orx: ::METHOD intersection -- take the intersection of sets use strict arg other -- get the companion object signal on nomethod new = self~class~new -- use a new instance if other~isA(.Collection) then values = other~allitems -- get all of the items from the other collection else values = other~makearray -- ask for an array version of the source count = values~items do i = 1 to count index = values[i] -- if we have one of these, put into the result -- NB: Since this is a SET, there will only be one copy accumulated. if self~hasindex(index) then new~put(index) end return new -- return the difference collection nomethod: -- unknown method sent raise syntax 93.948 array(1, "Collection") In my case the other collection is a .directory, where items and indexes are not necessarily the same. What am I misunderstanding? -- Ruurd Idenburg |
From: Rick M. <obj...@gm...> - 2013-08-20 22:46:43
|
What you are missing is the act of coercing the source collection into a compatible type (this is described in section 5.3.19 The Concept of Set Operations). In this situation, the items are used to integration with the set. If you wish to merge the indexes, then source~allindexes as an argument for the merge. Rick On Tue, Aug 20, 2013 at 5:19 PM, Ruurd Idenburg <ru...@id...> wrote: > This is the description of set~intersection: > > 5.3.14.4. intersection > >>-intersection(argument)-------------------------------------->< > Returns a new collection (of the same class as the receiver) containing > only those items from the receiver > whose indexes are in both the receiver collection and the argument > collection. The argument can be any > collection class object. The argument must also allow all of the index > values in the receiver collection. > > and I think this is the code for set~intersection in CoreClasses.orx: > > ::METHOD intersection -- take the intersection of sets > use strict arg other -- get the companion object > signal on nomethod > new = self~class~new -- use a new instance > if other~isA(.Collection) then > values = other~allitems -- get all of the items from the > other collection > else > values = other~makearray -- ask for an array version of the > source > count = values~items > do i = 1 to count > index = values[i] > -- if we have one of these, put into the result > -- NB: Since this is a SET, there will only be one copy accumulated. > if self~hasindex(index) then > new~put(index) > end > return new -- return the difference collection > nomethod: -- unknown method sent > raise syntax 93.948 array(1, "Collection") > > In my case the other collection is a .directory, where items and indexes > are not necessarily the same. > > What am I misunderstanding? > > -- Ruurd Idenburg > > > ------------------------------------------------------------------------------ > Introducing Performance Central, a new site from SourceForge and > AppDynamics. Performance Central is your source for news, insights, > analysis and resources for efficient Application Performance Management. > Visit us today! > http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk > _______________________________________________ > Oorexx-users mailing list > Oor...@li... > https://lists.sourceforge.net/lists/listinfo/oorexx-users > > |
From: Ruurd I. <ru...@id...> - 2013-08-20 23:00:52
|
Thanks Rick, but from .directory upwards the inheritance chain isn't it: .directory -> .MapCollection -> .Collection So what about this in section 5.3.19: If argument is a MapCollection, then index values are used to determine membership, and items are inserted into the result using the index and item pairs. Ruurd On 21-8-2013 0:46, Rick McGuire wrote: > What you are missing is the act of coercing the source collection into > a compatible type (this is described in section 5.3.19 The Concept of > Set Operations). In this situation, the items are used to integration > with the set. If you wish to merge the indexes, then > source~allindexes as an argument for the merge. > > Rick > > > On Tue, Aug 20, 2013 at 5:19 PM, Ruurd Idenburg <ru...@id... > <mailto:ru...@id...>> wrote: > > This is the description of set~intersection: > > 5.3.14.4. intersection > >>-intersection(argument)-------------------------------------->< > Returns a new collection (of the same class as the receiver) > containing only those items from the receiver > whoseindexes are in both the receiver collection and the argument > collection. The argument can be any > collection class object. The argument must also allow all of the > index values in the receiver collection. > > and I think this is the code for set~intersection in CoreClasses.orx: > > ::METHOD intersection -- take the intersection of > sets > use strict arg other -- get the companion object > signal on nomethod > new = self~class~new -- use a new instance > if other~isA(.Collection) then > values = other~allitems -- get all of the items from the other > collection > else > values = other~makearray -- ask for an array version > of the source > count = values~items > do i = 1 to count > index = values[i] > -- if we have one of these, put into the result > -- NB: Since this is a SET, there will only be one copy > accumulated. > if self~hasindex(index) then > new~put(index) > end > return new -- return the difference > collection > nomethod: -- unknown method sent > raise syntax 93.948 array(1, "Collection") > > In my case the other collection is a .directory, where items and > indexes are not necessarily the same. > > What am I misunderstanding? > > -- Ruurd Idenburg > > ------------------------------------------------------------------------------ > Introducing Performance Central, a new site from SourceForge and > AppDynamics. Performance Central is your source for news, insights, > analysis and resources for efficient Application Performance > Management. > Visit us today! > http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk > _______________________________________________ > Oorexx-users mailing list > Oor...@li... > <mailto:Oor...@li...> > https://lists.sourceforge.net/lists/listinfo/oorexx-users > > > > > ------------------------------------------------------------------------------ > Introducing Performance Central, a new site from SourceForge and > AppDynamics. Performance Central is your source for news, insights, > analysis and resources for efficient Application Performance Management. > Visit us today! > http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk > > > _______________________________________________ > Oorexx-users mailing list > Oor...@li... > https://lists.sourceforge.net/lists/listinfo/oorexx-users -- Ruurd Idenburg |
From: Ruurd I. <ru...@id...> - 2013-08-20 23:15:21
|
Ok, I see I'm referring to the receiver as a MapCollection, which a set ain't and for Set the items in the argument collection are used. Gotta subclass .set then to get what I want. Ruurd On 21-8-2013 1:00, Ruurd Idenburg wrote: > Thanks Rick, but from .directory upwards the inheritance chain isn't it: > > .directory -> .MapCollection -> .Collection > > So what about this in section 5.3.19: > > If argument is a MapCollection, then index values are used to > determine membership, and items are > inserted into the result using the index and item pairs. > > Ruurd > > On 21-8-2013 0:46, Rick McGuire wrote: >> What you are missing is the act of coercing the source collection >> into a compatible type (this is described in section 5.3.19 The >> Concept of Set Operations). In this situation, the items are used to >> integration with the set. If you wish to merge the indexes, then >> source~allindexes as an argument for the merge. >> >> Rick >> >> >> On Tue, Aug 20, 2013 at 5:19 PM, Ruurd Idenburg <ru...@id... >> <mailto:ru...@id...>> wrote: >> >> This is the description of set~intersection: >> >> 5.3.14.4. intersection >> >>-intersection(argument)-------------------------------------->< >> Returns a new collection (of the same class as the receiver) >> containing only those items from the receiver >> whoseindexes are in both the receiver collection and the argument >> collection. The argument can be any >> collection class object. The argument must also allow all of the >> index values in the receiver collection. >> >> and I think this is the code for set~intersection in CoreClasses.orx: >> >> ::METHOD intersection -- take the intersection >> of sets >> use strict arg other -- get the companion object >> signal on nomethod >> new = self~class~new -- use a new instance >> if other~isA(.Collection) then >> values = other~allitems -- get all of the items from the other >> collection >> else >> values = other~makearray -- ask for an array >> version of the source >> count = values~items >> do i = 1 to count >> index = values[i] >> -- if we have one of these, put into the result >> -- NB: Since this is a SET, there will only be one copy >> accumulated. >> if self~hasindex(index) then >> new~put(index) >> end >> return new -- return the difference >> collection >> nomethod: -- unknown method sent >> raise syntax 93.948 array(1, "Collection") >> >> In my case the other collection is a .directory, where items and >> indexes are not necessarily the same. >> >> What am I misunderstanding? >> >> -- Ruurd Idenburg >> >> ------------------------------------------------------------------------------ >> Introducing Performance Central, a new site from SourceForge and >> AppDynamics. Performance Central is your source for news, insights, >> analysis and resources for efficient Application Performance >> Management. >> Visit us today! >> http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk >> _______________________________________________ >> Oorexx-users mailing list >> Oor...@li... >> <mailto:Oor...@li...> >> https://lists.sourceforge.net/lists/listinfo/oorexx-users >> >> >> >> >> ------------------------------------------------------------------------------ >> Introducing Performance Central, a new site from SourceForge and >> AppDynamics. Performance Central is your source for news, insights, >> analysis and resources for efficient Application Performance Management. >> Visit us today! >> http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk >> >> >> _______________________________________________ >> Oorexx-users mailing list >> Oor...@li... >> https://lists.sourceforge.net/lists/listinfo/oorexx-users > > > -- > Ruurd Idenburg > > > ------------------------------------------------------------------------------ > Introducing Performance Central, a new site from SourceForge and > AppDynamics. Performance Central is your source for news, insights, > analysis and resources for efficient Application Performance Management. > Visit us today! > http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk > > > _______________________________________________ > Oorexx-users mailing list > Oor...@li... > https://lists.sourceforge.net/lists/listinfo/oorexx-users -- Ruurd Idenburg |
From: Rick M. <obj...@gm...> - 2013-08-20 23:18:39
|
What are you actually trying to achieve? I suspect a subclass might not be required. Rick On Tue, Aug 20, 2013 at 7:15 PM, Ruurd Idenburg <ru...@id...> wrote: > Ok, I see I'm referring to the receiver as a MapCollection, which a set > ain't and for Set the items in the argument collection are used. > > Gotta subclass .set then to get what I want. > > Ruurd > > > On 21-8-2013 1:00, Ruurd Idenburg wrote: > > Thanks Rick, but from .directory upwards the inheritance chain isn't it: > > .directory -> .MapCollection -> .Collection > > So what about this in section 5.3.19: > > If argument is a MapCollection, then index values are used to determine > membership, and items are > inserted into the result using the index and item pairs. > > Ruurd > > On 21-8-2013 0:46, Rick McGuire wrote: > > What you are missing is the act of coercing the source collection into a > compatible type (this is described in section 5.3.19 The Concept of Set > Operations). In this situation, the items are used to integration with the > set. If you wish to merge the indexes, then source~allindexes as an > argument for the merge. > > Rick > > > On Tue, Aug 20, 2013 at 5:19 PM, Ruurd Idenburg <ru...@id...>wrote: > >> This is the description of set~intersection: >> >> 5.3.14.4. intersection >> >>-intersection(argument)-------------------------------------->< >> Returns a new collection (of the same class as the receiver) containing >> only those items from the receiver >> whose indexes are in both the receiver collection and the argument >> collection. The argument can be any >> collection class object. The argument must also allow all of the index >> values in the receiver collection. >> >> and I think this is the code for set~intersection in CoreClasses.orx: >> >> ::METHOD intersection -- take the intersection of sets >> use strict arg other -- get the companion object >> signal on nomethod >> new = self~class~new -- use a new instance >> if other~isA(.Collection) then >> values = other~allitems -- get all of the items from the >> other collection >> else >> values = other~makearray -- ask for an array version of the >> source >> count = values~items >> do i = 1 to count >> index = values[i] >> -- if we have one of these, put into the result >> -- NB: Since this is a SET, there will only be one copy accumulated. >> if self~hasindex(index) then >> new~put(index) >> end >> return new -- return the difference collection >> nomethod: -- unknown method sent >> raise syntax 93.948 array(1, "Collection") >> >> In my case the other collection is a .directory, where items and indexes >> are not necessarily the same. >> >> What am I misunderstanding? >> >> -- Ruurd Idenburg >> >> >> ------------------------------------------------------------------------------ >> Introducing Performance Central, a new site from SourceForge and >> AppDynamics. Performance Central is your source for news, insights, >> analysis and resources for efficient Application Performance Management. >> Visit us today! >> >> http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk >> _______________________________________________ >> Oorexx-users mailing list >> Oor...@li... >> https://lists.sourceforge.net/lists/listinfo/oorexx-users >> >> > > > ------------------------------------------------------------------------------ > Introducing Performance Central, a new site from SourceForge and > AppDynamics. Performance Central is your source for news, insights, > analysis and resources for efficient Application Performance Management. > Visit us today!http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk > > > > _______________________________________________ > Oorexx-users mailing lis...@li...https://lists.sourceforge.net/lists/listinfo/oorexx-users > > > > -- > Ruurd Idenburg > > > > ------------------------------------------------------------------------------ > Introducing Performance Central, a new site from SourceForge and > AppDynamics. Performance Central is your source for news, insights, > analysis and resources for efficient Application Performance Management. > Visit us today!http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk > > > > _______________________________________________ > Oorexx-users mailing lis...@li...https://lists.sourceforge.net/lists/listinfo/oorexx-users > > > > -- > Ruurd Idenburg > > > > ------------------------------------------------------------------------------ > Introducing Performance Central, a new site from SourceForge and > AppDynamics. Performance Central is your source for news, insights, > analysis and resources for efficient Application Performance Management. > Visit us today! > http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk > _______________________________________________ > Oorexx-users mailing list > Oor...@li... > https://lists.sourceforge.net/lists/listinfo/oorexx-users > > |
From: Ruurd I. <ru...@id...> - 2013-08-21 08:19:38
|
Rick , you're right, I don't need a subclass really. By doing the intersection the other way around I get what I want: dir1 =.directory~new~~put('Rick','First')~~put('McGuire','Last') ........................................... rexxtry.rex on WindowsNT set1 = .set~of('First','Last') ........................................... rexxtry.rex on WindowsNT say set1~intersection(dir1)~makeArray~makeString ........................................... rexxtry.rex on WindowsNT say dir1~intersection(set1)~makeArray~makeString First Last or alternativily using .table instead of .set: dir1 =.directory~new~~put('Rick','First')~~put('McGuire','Last') ........................................... rexxtry.rex on WindowsNT tab1 = .table~new~~put('First','First')~~put('Last','Last') ........................................... rexxtry.rex on WindowsNT say tab1~intersection(dir1)~makeArray~makeString First Last ........................................... rexxtry.rex on WindowsNT say dir1~intersection(tab1)~makeArray~makeString First Last My confusion stems from a number of points: 1. "Usually" Intersection ought to be associative: "a~intersection(b)" equals "b~intersection(a)" 2. The description of the Set class in 5.3.14 states with respect to items(values) and indexes: A Set is a collection containing member items where the index is the same as the item (similar to a Bag collection). 3. The description for intersection in 5.3.14.4, which is specific for the Set class specifies that the indexes must be in both collections: Returns a new collection (of the same class as the receiver) containing only those items from the receiver whose indexes are in both the receiver collection and the argument collection. 4. When I accidentally tried: set2 = .set~new~~put('Rick','First') Oooops ! ... try again. Incorrect call to method The index and value objects must be the same for PUT to an index-only collection the error message mentions an index-only collection. Therefore my "misunderstanding", not heaving read section 3.14.9, that more or less contradicts all of the above and makes a special case of the Set class, a subclass of .Table which is a .MapCollection. There must be a reason why .Set is treated differently, right? Ruurd On 21-8-2013 1:18, Rick McGuire wrote: > What are you actually trying to achieve? I suspect a subclass might > not be required. > > Rick > > > On Tue, Aug 20, 2013 at 7:15 PM, Ruurd Idenburg <ru...@id... > <mailto:ru...@id...>> wrote: > > Ok, I see I'm referring to the receiver as a MapCollection, which > a set ain't and for Set the items in the argument collection are used. > > Gotta subclass .set then to get what I want. > > Ruurd > > > On 21-8-2013 1:00, Ruurd Idenburg wrote: >> Thanks Rick, but from .directory upwards the inheritance chain >> isn't it: >> >> .directory -> .MapCollection -> .Collection >> >> So what about this in section 5.3.19: >> >> If argument is a MapCollection, then index values are used to >> determine membership, and items are >> inserted into the result using the index and item pairs. >> >> Ruurd >> >> On 21-8-2013 0:46, Rick McGuire wrote: >>> What you are missing is the act of coercing the source >>> collection into a compatible type (this is described in section >>> 5.3.19 The Concept of Set Operations). In this situation, the >>> items are used to integration with the set. If you wish to >>> merge the indexes, then source~allindexes as an argument for the >>> merge. >>> >>> Rick >>> >>> >>> On Tue, Aug 20, 2013 at 5:19 PM, Ruurd Idenburg >>> <ru...@id... <mailto:ru...@id...>> wrote: >>> >>> This is the description of set~intersection: >>> >>> 5.3.14.4. intersection >>> >>-intersection(argument)-------------------------------------->< >>> Returns a new collection (of the same class as the receiver) >>> containing only those items from the receiver >>> whoseindexes are in both the receiver collection and the >>> argument collection. The argument can be any >>> collection class object. The argument must also allow all of >>> the index values in the receiver collection. >>> >>> and I think this is the code for set~intersection in >>> CoreClasses.orx: >>> >>> ::METHOD intersection -- take the >>> intersection of sets >>> use strict arg other -- get the companion >>> object >>> signal on nomethod >>> new = self~class~new -- use a new instance >>> if other~isA(.Collection) then >>> values = other~allitems -- get all of the items from the >>> other collection >>> else >>> values = other~makearray -- ask for an array >>> version of the source >>> count = values~items >>> do i = 1 to count >>> index = values[i] >>> -- if we have one of these, put into the result >>> -- NB: Since this is a SET, there will only be one copy >>> accumulated. >>> if self~hasindex(index) then >>> new~put(index) >>> end >>> return new -- return the >>> difference collection >>> nomethod: -- unknown method sent >>> raise syntax 93.948 array(1, "Collection") >>> >>> In my case the other collection is a .directory, where items >>> and indexes are not necessarily the same. >>> >>> What am I misunderstanding? >>> >>> -- Ruurd Idenburg >>> >>> ------------------------------------------------------------------------------ >>> Introducing Performance Central, a new site from SourceForge and >>> AppDynamics. Performance Central is your source for news, >>> insights, >>> analysis and resources for efficient Application Performance >>> Management. >>> Visit us today! >>> http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk >>> _______________________________________________ >>> Oorexx-users mailing list >>> Oor...@li... >>> <mailto:Oor...@li...> >>> https://lists.sourceforge.net/lists/listinfo/oorexx-users >>> >>> >>> >>> >>> ------------------------------------------------------------------------------ >>> Introducing Performance Central, a new site from SourceForge and >>> AppDynamics. Performance Central is your source for news, insights, >>> analysis and resources for efficient Application Performance Management. >>> Visit us today! >>> http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk >>> >>> >>> _______________________________________________ >>> Oorexx-users mailing list >>> Oor...@li... <mailto:Oor...@li...> >>> https://lists.sourceforge.net/lists/listinfo/oorexx-users >> >> >> -- >> Ruurd Idenburg >> >> >> ------------------------------------------------------------------------------ >> Introducing Performance Central, a new site from SourceForge and >> AppDynamics. Performance Central is your source for news, insights, >> analysis and resources for efficient Application Performance Management. >> Visit us today! >> http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk >> >> >> _______________________________________________ >> Oorexx-users mailing list >> Oor...@li... <mailto:Oor...@li...> >> https://lists.sourceforge.net/lists/listinfo/oorexx-users > > > -- > Ruurd Idenburg > > > ------------------------------------------------------------------------------ > Introducing Performance Central, a new site from SourceForge and > AppDynamics. Performance Central is your source for news, insights, > analysis and resources for efficient Application Performance > Management. > Visit us today! > http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk > _______________________________________________ > Oorexx-users mailing list > Oor...@li... > <mailto:Oor...@li...> > https://lists.sourceforge.net/lists/listinfo/oorexx-users > > > > > ------------------------------------------------------------------------------ > Introducing Performance Central, a new site from SourceForge and > AppDynamics. Performance Central is your source for news, insights, > analysis and resources for efficient Application Performance Management. > Visit us today! > http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk > > > _______________________________________________ > Oorexx-users mailing list > Oor...@li... > https://lists.sourceforge.net/lists/listinfo/oorexx-users -- Ruurd Idenburg |