File tree 3 files changed +32
-5
lines changed
3 files changed +32
-5
lines changed Original file line number Diff line number Diff line change @@ -380,6 +380,23 @@ alter: func [
380
380
) [append series :value ]
381
381
]
382
382
383
+ supplement : func [
384
+ "Append value if not found; returns series at same position."
385
+ series [block! ] {(modified)}
386
+ value
387
+ /case "Case-sensitive comparison"
388
+ /local result
389
+ ] [
390
+ result: series ; to return series at same position if value is found
391
+ any [
392
+ either case [
393
+ find/case series :value
394
+ ][ find series :value ]
395
+ append series :value
396
+ ]
397
+ result
398
+ ]
399
+
383
400
collect : func [
384
401
"Evaluates a block, storing values via KEEP function, and returns block of collected values."
385
402
body [block! ] "Block to evaluate"
Original file line number Diff line number Diff line change @@ -3,15 +3,15 @@ Rebol [
3
3
Author: "Peter W A Wood, Oldes"
4
4
File: %module-test.r3
5
5
Tabs: 4
6
- Needs: [ %../quick-test-module.r3 ]
6
+ Needs: %../quick-test-module.r3
7
7
]
8
8
9
9
~~~start-file~~~ "module!"
10
10
11
- modules-test-dir: join what-dir % units/files/
12
- unless find system /options/module-paths modules-test-dir [
13
- append system/options/module-paths modules-test- dir
14
- ]
11
+ ; extend module-paths with units/files/ directory
12
+ ; so modules there can be located
13
+ supplement system/options/module-paths join what- dir %units/files/
14
+
15
15
16
16
===start-group=== "module keywords"
17
17
--test-- "hidden"
Original file line number Diff line number Diff line change @@ -169,6 +169,16 @@ Rebol [
169
169
--assert #"b" = select/same "aAbcdAe" "A"
170
170
--assert #"e" = select/same/last "aAbcdAe" "A"
171
171
172
+ --test- "SUPPLEMENT"
173
+ ;@@ https://github.com/Oldes/Rebol-wishes/issues/11
174
+ b: []
175
+ --assert [%a ] = supplement b %a
176
+ --assert [%a %b ] = supplement b %b
177
+ --assert [%a %b ] = supplement b %a
178
+ --assert [%a %b #"a" ] = supplement b #"a"
179
+ --assert [%a %b #"a" ] = supplement b #"A" ; case-insensitive
180
+ --assert [%a %b #"a" #"A" ] = supplement/case b #"A"
181
+
172
182
===end-group===
173
183
174
184
===start-group=== "PATH notation"
You can’t perform that action at this time.
0 commit comments