ࡱ> GF @\p John McGuinner Ba==Ky,8X@"1Tahoma1Tahoma1Tahoma1Tahoma1tahoma1QTahoma1QTahoma1tahoma1Tahoma1@tahoma1tahoma""#,##0;\-""#,##0""#,##0;[Red]\-""#,##0""#,##0.00;\-""#,##0.00#""#,##0.00;[Red]\-""#,##0.005*0_-""* #,##0_-;\-""* #,##0_-;_-""* "-"_-;_-@_-,)'_-* #,##0_-;\-* #,##0_-;_-* "-"_-;_-@_-=,8_-""* #,##0.00_-;\-""* #,##0.00_-;_-""* "-"??_-;_-@_-4+/_-* #,##0.00_-;\-* #,##0.00_-;_-* "-"??_-;_-@_- dd/mm/yyyy                + ) , *  " "X "X "xpp )  `wp@ )  `p@ ) "xpw @ )  `ww@ @ )  `w@@ ) "xpw @ +  `ww@ @ +  `w@@ +  `ww@ @ + "xpw @ /  `ww@ @ /  `w@@ / "xpw @ *  `ww@ @ *  `w@@ * "xpw @ -  `ww@ @ -  `w@@ - "xpw @ 2  `ww@ @ 2  `w@@ 2 "xp @2  `w@ @2  `@@2        "xpp 5  `wp@ 5  `p@ 5 "xpw @ 5  `ww@ @ 5  `ww@ @ 5  `w@@ 5 "xpw @ 1  `ww@ @ 1  `ww@ @ 1  `w@@ 1 "xp @1  `w@ @1  `@@1 `Protocol 7Info,!  ;8bZ  3  @@  =Class AccessingAddingRemovingTesting Enumerating Convertingsizeat:at:put:add:remove:remove:ifAbsent: includes:isEmptydo:detect:ifNone:SetisEmpty: Dictionary AssociationCreationnew key:value:keyvalue at:ifAbsent: removeKey:removeKey:ifAbsent: includesKey:Arraynew:#(x x x)indexOf:keysAndValuesDo:to:do:OrderedCollectionfirstlast addFirst: add:after: add:before:add:beforeIndex:remove:IfAbsent: removeFirst removeLastSortedCollection sortBlock:->Collections Protocol Update Log%Added colour code (strong, isn't it?)Added AutofilterAdded -> method to Association General InfokSome cells are commented - to see the comments hover the pointer over the cell and the comment will appear.String'xxx'Symbol#xxxString and Symbol addedB, ` +  i f FhH @ &)  dMbP?_*+%M2HP DeskJet 1120CTC odXXLetterDINU"0$/ $$$$" dXX??U} I} } m } } }  } } &      11                           "  !0     " # # # # # $ " # # # # # $" " # # ## # $ " # #  ###$ " #####$ % & & && & ' % & & && & '" %& & &&& ' %& &! &&& '# %&&&&&' ($ ) ) ) ) ) * ($) ) )' )+ ) * ($) ) )( ), )* ($) )% )) )- )* ($) )& )* ))* ($)))))* +. , , , , , - +. ,/ ,, , , - +., ,%, ,, ,- +., ,&, ,- ,- ../////0 48 5 5 55 5 6 78 89 9 99 9 :B XpbH$H<$bZL8$TTDD$b^PPD$b^LL$T !"#$% 78 8 9  999: !;: !<; != !== != !> "?:"@@@@ "@ "A#$%^d8T< t \ (  x  6<VXPP? z<]4@<V  #LAmI J<KAndrew Spencer: Accesses each element in the set; takes 1 block argument.<_/Jxx  6VXPP? z <]4@V 볅2JLHc0%X O<PAndrew Spencer: Accesses each value of the Dictionary; takes 1 block argument.<_FOxx  6VXPP? z <]4@V8  {ozHBâX I<JAndrew Spencer: Accesses the key and the value. Takes 2 block arguments.<_/IdMyxx  6XVXPP? z <]4@XV  cѱu"H2[X ?<@Andrew Spencer: Accesses each element; takes 1 block argument.<_?rxx  6@ VXPP? z <]4@@ Vh  ;oE[99 X T<UAndrew Spencer: Accesses the index and value of the Array; takes 2 block arguments.<_aTk~~  < V XPP? z]4@ V  s!GB( <Andrew Spencer: Strictly, this belongs to the Number class, but it is useful to access Arrays from the first index to the nth index; takes 1 block argument.<_~~  <*V XPP? v i]4@*V  &D?lFk `<aAndrew Spencer: Inherited from Object. Implementation example: myAssociation := ( 10 -> 'ten' )<_``X  S  ]F!  d W`X  S  ]F!  d W`X  S  ]F!P  d W`X  S  ]F!  d W`X  S  ]F!@ d W`X  S  ]F! d W`X  S  ]F!0 d Wxx  6CVXPP? i!]4@CV*  ˏL H-ā^X -<.Andrew Spencer: Argument must be a character<_-xx  6EVXPP?  i$]4@EV(@ YtBuC?nX -<.Andrew Spencer: Argument must be a character<_-xx  6$GVXPP? i !]4@$GVK #%Mܬ=N_!X 6<7Andrew Spencer: Accesses each character of the string<_6xx  6HVXPP?  i $]4@HVX  5EF X 6<7Andrew Spencer: Accesses each character of the symbol<_6xx  6lJVXPP? i ]4@lJVP 7[ pL@u!X ><?Andrew Spencer: Accesses each element of the SortedCollection<_>xx  6LVXPP? i ]4@LVE  *^|@O-]X @<AAndrew Spencer: Accesses each element of the ordered collection<_@Andrew SpencersAndrew Spencers Andrew Spencers Andrew SpencersAndrew SpencersAndrew SpencersAndrew SpencersAndrew SpencersAndrew SpencersAndrew SpencersAndrew Spencers!Andrew Spencers!Andrew Spencers>@A ###7 @  ;<  dMbP?_*+%M2HP DeskJet 1120CTC od,,LetterDINU"0$/ $$$$" d,,??U} I3    26 37 22~ 3@@ 3 4 5~ 3@ < x>@  7 !\pAndrew Spencer [Bb Protocol2_FilterDatabase;=Ky,8X@"1Tahoma1Tahoma1Tahoma1Tahoma1tahoma1QTahoma1QTahoma1tahoma1Tahoma1@tahoma1tahoma""#,##0;\-""#,##0""#,##0;[Red]\-""#,##0""#,##0.00;\-""#,##0.00!""#,##0.00;[Red]\-""#,##0.003*0_-""* #,##0_-;\-""* #,##0_-;_-""* "-"_-;_-@_-*)'_-* #,##0_-;\-* #,##0_-;_-* "-"_-;_-@_-;,8_-""* #,##0.00_-;\-""* #,##0.00_-;_-""* "-"??_-;_-@_-2+/_-* #,##0.00_-;\-* #,##0.00_-;_-* "-"??_-;_-@_- dd/mm/yyyy                + ) , *  " "X "X "x)   `) @  `) 8@"x) ǁ  `) @  `) ?@"x+ ǁ  `+ @  `+ ?@ `+ @ "x/ ǁ  `/ @  `/ ?@"x* ǁ  `* @  `* ?@"x- ǁ  `- @  `- ?@"x2 ǁ  `2 @  `2 ?@"x2 ǁ  `2 @  `2 ?@       "x5   `5 @  `5 8@"x5 ǁ  `5 @  `5 @  `5 ?@"x1 ǁ  `1 @  `1 @  `1 ?@"x1 ǁ  `1 @  `1 ?@83ffff̙3f3fff3f3f33333f33333% Protocol 'Info ! & U  dMbP?_*+%,MHP DeskJet 1120C 2z-0TC odXXLetterm0 %DINU"0$/ $$$$" dXX??U} I} } m } } }  } }  &     1Collections Protocol ClassCreation AccessingAddingRemovingTesting Enumerating Converting Set new size add:remove: includes: do: Set remove:ifAbsent:isEmpty:detect:ifNone: Set Association key:value: key  keysAndValuesDo: Association !-> value  Association  " Dictionary #new #size #add: # removeKey: # includes: $do: " Dictionary # #at: # #removeKey:ifAbsent: # includesKey: $keysAndValuesDo: " Dictionary # # at:ifAbsent: ## #isEmpty $ " Dictionary # #at:put: ###$ " Dictionary #####$ %Array &new: &size &&& includes: 'do: %Array&#(x x x) &at: &&&isEmpty'keysAndValuesDo: %Array&&at:put: &&&'detect:ifNone: %Array&&indexOf: &&&'to:do: %Array&&&&&'(OrderedCollection )new )size )add:)remove:) includes: *do:(OrderedCollection) )at:) addFirst:)remove:IfAbsent:)isEmpty*detect:ifNone:(OrderedCollection))at:put:) add:after:) removeFirst )*(OrderedCollection) )first) add:before:) removeLast )*(OrderedCollection) )last)add:beforeIndex: ))*(OrderedCollection)))))*+SortedCollection ,new ,size ,add:,remove:, includes: -do:+SortedCollection, sortBlock: ,at:,,remove:ifAbsent:,isEmpty-detect:ifNone:+SortedCollection, ,first,, removeFirst ,-+SortedCollection, ,last,, removeLast ,-.SortedCollection/////04String 5new: 5size 555 includes: 6do:7String 8'xxx' 9at: 999isEmpty:detect:ifNone:BX ui%hH-cE,cqXQ'usc3fd2d !"#$% 7String 8 9at:put: 999:!;Symbol !<#xxx !=at: !==!= includes: !>do:"?Symbol"@@@@"@isEmpty"Adetect:ifNone:#$%dAcQ ] d  WW] d  WW] d  WW] d  WW] d  WW] d  WW] d  WWPJAndrew Spencer: Accesses each element in the set; takes 1 block argument.f`Andrew Spencer: Inherited from Object. Implementation example: myAssociation := ( 10 -> 'ten' )U OAndrew Spencer: Accesses each value of the Dictionary; takes 1 block argument.O IAndrew Spencer: Accesses the key and the value. Takes 2 block arguments.E?Andrew Spencer: Accesses each element; takes 1 block argument.ZTAndrew Spencer: Accesses the index and value of the Array; takes 2 block arguments.Andrew Spencer: Strictly, this belongs to the Number class, but it is useful to access Arrays from the first index to the nth index; takes 1 block argument.F@Andrew Spencer: Accesses each element of the ordered collectionD>Andrew Spencer: Accesses each element of the SortedCollection3-Andrew Spencer: Argument must be a character<6Andrew Spencer: Accesses each character of the string3!-Andrew Spencer: Argument must be a character<!6Andrew Spencer: Accesses each character of the symbol=Ky,8X> A ###" !  *,  dMbP?_*+%,MHP DeskJet 1120Cr: Accesses eaTC od,,Lettereful to access Arrays froDINU"0$/ $$$$" d,,?? ProtocolU} I3   2 General Infos3kSome cells are commented - to see the comments hover the pointer over the cell and the comment will appear.2 Update Log~ 3@@-%Added colour code (strong, isn't it?)Added Autofilter& Added -> method to Association~ 3@ String and Symbol addedxw?*=Ky,8X>   " Oh+'0@H`x Andrew SpencerAndrew SpencerMicrosoft Excel@@>q՜.+,08@ LT \ zicr  ProtocolInfo  Worksheets  !"#$%&'()*+,-./012345789:;<=?@ABCDEHRoot EntryF*,Book E-Workbook=SummaryInformation(6DocumentSummaryInformation8>