@@ -20,6 +20,21 @@ Some examples
2020#( #(1) #(3 1) #(2) ) minUsing: [:array | array first ] >>> 1
2121```
2222
23+ ### ` Collection ` extensions for GS64
24+
25+ - ` anyOne ` is just an alias of ` any `
26+ - ` collect:as: ` evaluates a block with each of the receiver's elements as the
27+ argument collecting the result into an instance of the argument class.
28+ - ` count: ` counts the number of elements evaluating true for the argument block.
29+ - ` detect:ifFound: ` evaluates an action block if any of the elements match the
30+ condition block. If no elements match does nothing.
31+ - ` detect:ifFound:ifNone: ` evaluates an action block if any of the elements match
32+ the condition block. If no elements match evaluates the fail block.
33+ - ` ifEmpty:ifNotEmpty: ` evaluates one of two blocks depending on the collection emptiness.
34+ - ` removeAll ` removes all elements of the receiver.
35+ - ` select:thenCollect: ` filters the elements in the receiver using the condition
36+ block, collecting after the results evaluating the action block.
37+
2338## ` SequenceableCollection ` extensions
2439
2540- ` copyFirst: ` Copy the first ` n ` elements of the collection. If ` n ` is 0 it
@@ -67,6 +82,38 @@ Some examples
6782
6883```
6984
85+ ### ` SequenceableCollection ` extensions for GS64
86+
87+ - ` copyAfter: ` returns a copy of the receiver after the first occurrence
88+ of the argument up to the end, or empty if no element matches.
89+ - ` endsWith: ` returns true if the argument is a suffix of the receiver.
90+ - ` writeStream ` returns a write stream over the receiver.
91+
92+ ## ` Dictionary ` extensions for GS64
93+
94+ - ` at:ifPresent:ifAbsentPut: ` lookups a value, if any matches evaluates a block,
95+ if no one matches put under the key the result o evaluating the second block.
96+
97+ ## ` String ` extensions for GS64
98+
99+ - ` expandMacros `
100+ - ` expandMacrosWith: `
101+ - ` expandMacrosWith:With: `
102+ - ` expandMacrosWith:With:With: `
103+ - ` expandMacrosWith:With:With:With: `
104+ - ` expandMacrosWithArguments: `
105+
106+ These methods interpolate the receiver pattern using the provided arguments:
107+
108+ - ` <r> ` is replaced by ` CR `
109+ - ` <l> ` is replaced by ` LF `
110+ - ` <n> ` is replaced by the underlying OS line delimiter
111+ - ` <t> ` is replaced by ` TAB `
112+ - ` <Np> ` is replaced by the ` printString ` of the nth argument
113+ - ` <Ns> ` is replaced by the string provided in the nth argument
114+ - ` <N?trueString:falseString> ` is replaced by ` trueString ` or ` falseString `
115+ depending on the boolean provided in the nth argument.
116+
70117## Circular Iterator
71118
72119A ` CircularIterator ` provides an abstraction to iterate over a collection
0 commit comments