Make IO a static class instead of a singleton.
This commit is contained in:
+4
-4
@@ -1,10 +1,10 @@
|
||||
var a = []
|
||||
a.add(1)
|
||||
io.write(a) // expect: [1]
|
||||
IO.write(a) // expect: [1]
|
||||
a.add(2)
|
||||
io.write(a) // expect: [1, 2]
|
||||
IO.write(a) // expect: [1, 2]
|
||||
a.add(3)
|
||||
io.write(a) // expect: [1, 2, 3]
|
||||
IO.write(a) // expect: [1, 2, 3]
|
||||
|
||||
// Returns added element.
|
||||
io.write(a.add(4)) // expect: 4
|
||||
IO.write(a.add(4)) // expect: 4
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
var a = [1, 2, 3]
|
||||
a.clear
|
||||
io.write(a) // expect: []
|
||||
io.write(a.count) // expect: 0
|
||||
IO.write(a) // expect: []
|
||||
IO.write(a.count) // expect: 0
|
||||
|
||||
// Returns null.
|
||||
io.write([1, 2].clear) // expect: null
|
||||
IO.write([1, 2].clear) // expect: null
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
io.write([].count) // expect: 0
|
||||
io.write([1].count) // expect: 1
|
||||
io.write([1, 2, 3, 4].count) // expect: 4
|
||||
IO.write([].count) // expect: 0
|
||||
IO.write([1].count) // expect: 1
|
||||
IO.write([1, 2, 3, 4].count) // expect: 4
|
||||
|
||||
+10
-10
@@ -4,41 +4,41 @@
|
||||
// Add to empty list.
|
||||
var a = []
|
||||
a.insert(1, 0)
|
||||
io.write(a) // expect: [1]
|
||||
IO.write(a) // expect: [1]
|
||||
|
||||
// Normal indices.
|
||||
var b = [1, 2, 3]
|
||||
b.insert(4, 0)
|
||||
io.write(b) // expect: [4, 1, 2, 3]
|
||||
IO.write(b) // expect: [4, 1, 2, 3]
|
||||
|
||||
var c = [1, 2, 3]
|
||||
c.insert(4, 1)
|
||||
io.write(c) // expect: [1, 4, 2, 3]
|
||||
IO.write(c) // expect: [1, 4, 2, 3]
|
||||
|
||||
var d = [1, 2, 3]
|
||||
d.insert(4, 2)
|
||||
io.write(d) // expect: [1, 2, 4, 3]
|
||||
IO.write(d) // expect: [1, 2, 4, 3]
|
||||
|
||||
var e = [1, 2, 3]
|
||||
e.insert(4, 3)
|
||||
io.write(e) // expect: [1, 2, 3, 4]
|
||||
IO.write(e) // expect: [1, 2, 3, 4]
|
||||
|
||||
// Negative indices.
|
||||
var f = [1, 2, 3]
|
||||
f.insert(4, -4)
|
||||
io.write(f) // expect: [4, 1, 2, 3]
|
||||
IO.write(f) // expect: [4, 1, 2, 3]
|
||||
|
||||
var g = [1, 2, 3]
|
||||
g.insert(4, -3)
|
||||
io.write(g) // expect: [1, 4, 2, 3]
|
||||
IO.write(g) // expect: [1, 4, 2, 3]
|
||||
|
||||
var h = [1, 2, 3]
|
||||
h.insert(4, -2)
|
||||
io.write(h) // expect: [1, 2, 4, 3]
|
||||
IO.write(h) // expect: [1, 2, 4, 3]
|
||||
|
||||
var i = [1, 2, 3]
|
||||
i.insert(4, -1)
|
||||
io.write(i) // expect: [1, 2, 3, 4]
|
||||
IO.write(i) // expect: [1, 2, 3, 4]
|
||||
|
||||
// Returns.inserted value.
|
||||
io.write([1, 2].insert(3, 0)) // expect: 3
|
||||
IO.write([1, 2].insert(3, 0)) // expect: 3
|
||||
|
||||
@@ -8,7 +8,7 @@ var list = [
|
||||
|
||||
]
|
||||
|
||||
io.write(list[0]) // expect: a
|
||||
io.write(list[1]) // expect: b
|
||||
io.write(list[2]) // expect: c
|
||||
io.write(list[3]) // expect: d
|
||||
IO.write(list[0]) // expect: a
|
||||
IO.write(list[1]) // expect: b
|
||||
IO.write(list[2]) // expect: c
|
||||
IO.write(list[3]) // expect: d
|
||||
|
||||
@@ -1,32 +1,32 @@
|
||||
var a = [1, 2, 3]
|
||||
a.removeAt(0)
|
||||
io.write(a) // expect: [2, 3]
|
||||
IO.write(a) // expect: [2, 3]
|
||||
|
||||
var b = [1, 2, 3]
|
||||
b.removeAt(1)
|
||||
io.write(b) // expect: [1, 3]
|
||||
IO.write(b) // expect: [1, 3]
|
||||
|
||||
var c = [1, 2, 3]
|
||||
c.removeAt(2)
|
||||
io.write(c) // expect: [1, 2]
|
||||
IO.write(c) // expect: [1, 2]
|
||||
|
||||
// Index backwards from end.
|
||||
var d = [1, 2, 3]
|
||||
d.removeAt(-3)
|
||||
io.write(d) // expect: [2, 3]
|
||||
IO.write(d) // expect: [2, 3]
|
||||
|
||||
var e = [1, 2, 3]
|
||||
e.removeAt(-2)
|
||||
io.write(e) // expect: [1, 3]
|
||||
IO.write(e) // expect: [1, 3]
|
||||
|
||||
var f = [1, 2, 3]
|
||||
f.removeAt(-1)
|
||||
io.write(f) // expect: [1, 2]
|
||||
IO.write(f) // expect: [1, 2]
|
||||
|
||||
// Out of bounds.
|
||||
// TODO: Signal error in better way.
|
||||
io.write([1, 2, 3].removeAt(3)) // expect: null
|
||||
io.write([1, 2, 3].removeAt(-4)) // expect: null
|
||||
IO.write([1, 2, 3].removeAt(3)) // expect: null
|
||||
IO.write([1, 2, 3].removeAt(-4)) // expect: null
|
||||
|
||||
// Return the removed value.
|
||||
io.write([3, 4, 5].removeAt(1)) // expect: 4
|
||||
IO.write([3, 4, 5].removeAt(1)) // expect: 4
|
||||
|
||||
+12
-12
@@ -1,25 +1,25 @@
|
||||
// Returns elements.
|
||||
var list = ["a", "b", "c", "d"]
|
||||
io.write(list[0]) // expect: a
|
||||
io.write(list[1]) // expect: b
|
||||
io.write(list[2]) // expect: c
|
||||
io.write(list[3]) // expect: d
|
||||
IO.write(list[0]) // expect: a
|
||||
IO.write(list[1]) // expect: b
|
||||
IO.write(list[2]) // expect: c
|
||||
IO.write(list[3]) // expect: d
|
||||
|
||||
// Allows indexing backwards from the end.
|
||||
io.write(list[-4]) // expect: a
|
||||
io.write(list[-3]) // expect: b
|
||||
io.write(list[-2]) // expect: c
|
||||
io.write(list[-1]) // expect: d
|
||||
IO.write(list[-4]) // expect: a
|
||||
IO.write(list[-3]) // expect: b
|
||||
IO.write(list[-2]) // expect: c
|
||||
IO.write(list[-1]) // expect: d
|
||||
|
||||
// Handle out of bounds.
|
||||
// TODO: Should halt the fiber or raise an error somehow.
|
||||
io.write(list[4]) // expect: null
|
||||
io.write(list[-5]) // expect: null
|
||||
IO.write(list[4]) // expect: null
|
||||
IO.write(list[-5]) // expect: null
|
||||
|
||||
// Handle wrong argument type.
|
||||
// TODO: Should halt the fiber or raise an error somehow.
|
||||
io.write(list[true]) // expect: null
|
||||
IO.write(list[true]) // expect: null
|
||||
|
||||
// Handle non-integer index.
|
||||
// TODO: Should halt the fiber or raise an error somehow.
|
||||
io.write(list[1.5]) // expect: null
|
||||
IO.write(list[1.5]) // expect: null
|
||||
|
||||
@@ -4,13 +4,13 @@
|
||||
list[0] = 5
|
||||
list[1] = 6
|
||||
list[2] = 7
|
||||
io.write(list) // expect: [5, 6, 7]
|
||||
IO.write(list) // expect: [5, 6, 7]
|
||||
}
|
||||
|
||||
// Returns right-hand side.
|
||||
{
|
||||
var list = [1, 2, 3]
|
||||
io.write(list[1] = 5) // expect: 5
|
||||
IO.write(list[1] = 5) // expect: 5
|
||||
}
|
||||
|
||||
// Negative indices.
|
||||
@@ -19,7 +19,7 @@
|
||||
list[-1] = 5
|
||||
list[-2] = 6
|
||||
list[-3] = 7
|
||||
io.write(list) // expect: [7, 6, 5]
|
||||
IO.write(list) // expect: [7, 6, 5]
|
||||
}
|
||||
|
||||
// TODO: Handle out of range.
|
||||
|
||||
+4
-4
@@ -1,4 +1,4 @@
|
||||
io.write([] is List) // expect: true
|
||||
io.write([] is Object) // expect: true
|
||||
io.write([] is Bool) // expect: false
|
||||
io.write([].type == List) // expect: true
|
||||
IO.write([] is List) // expect: true
|
||||
IO.write([] is Object) // expect: true
|
||||
IO.write([] is Bool) // expect: false
|
||||
IO.write([].type == List) // expect: true
|
||||
|
||||
Reference in New Issue
Block a user