Range modifications: Difference between revisions

→‎{{header|Wren}}: Fixed output.
m (→‎{{header|Phix}}: added a comment re quotes in output)
(→‎{{header|Wren}}: Fixed output.)
Line 311:
 
=={{header|Wren}}==
{{incomplete|Wren|Output formatting should not include spaces and square brackets}}
{{libheader|Wren-fmt}}
<lang ecmascript>import "/fmt" for Fmt
Line 362 ⟶ 361:
}
}
}
 
var standard = Fn.new { |ranges| rangesFmt.toStringv("s", 0, ranges, 0, ",", "").replace("..", "-") }
 
var add = 0
Line 381 ⟶ 379:
var ranges = []
var ops = [ [add, 77], [add, 79], [add, 78], [remove, 77], [remove, 78], [remove, 79] ]
SystemFmt.print("Start: %($q", standard.call(ranges))")
for (op in ops) fns[op[0]].call(ranges, op[1])
 
ranges = [1..3, 5..5]
ops = [ [add, 1], [remove, 4], [add, 7], [add, 8], [add, 6], [remove, 7] ]
SystemFmt.print("\nStart: %($q", standard.call(ranges))")
for (op in ops) fns[op[0]].call(ranges, op[1])
 
ranges = [1..5, 10..25, 27..30]
ops = [ [add, 26], [add, 9], [add, 7], [remove, 26], [remove, 9], [remove, 7] ]
SystemFmt.print("\nStart: %($q", standard.call(ranges))")
for (op in ops) fns[op[0]].call(ranges, op[1])</lang>
</lang>
 
{{out}}
<pre>
Start: []""
add 77 => [77-77]
add 79 => [77-77, 79-79]
add 78 => [77-79]
remove 77 => [78-79]
remove 78 => [79-79]
remove 79 => []
 
Start: ["1-3, 5-5]"
add 1 => [1-3, 5-5]
remove 4 => [1-3, 5-5]
add 7 => [1-3, 5-5, 7-7]
add 8 => [1-3, 5-5, 7-8]
add 6 => [1-3, 5-8]
remove 7 => [1-3, 5-6, 8-8]
 
Start: ["1-5, 10-25, 27-30]"
add 26 => [1-5, 10-30]
add 9 => [1-5, 9-30]
add 7 => [1-5, 7-7, 9-30]
remove 26 => [1-5, 7-7, 9-25, 27-30]
remove 9 => [1-5, 7-7, 10-25, 27-30]
remove 7 => [1-5, 10-25, 27-30]
</pre>
9,476

edits