mirror of
https://github.com/wren-lang/wren.git
synced 2026-01-11 14:18:42 +01:00
Make Sequence base class.
This lets us share functionality between List and Range (and other user-defined sequence types).
This commit is contained in:
@ -1,5 +1,3 @@
|
||||
var a = [1, 2, 3]
|
||||
var inc = fn (x) { return x + 1 }
|
||||
var b = a.map(inc)
|
||||
|
||||
var b = a.map(fn (x) x + 1)
|
||||
IO.print(b) // expect: [2, 3, 4]
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
IO.print([] is List) // expect: true
|
||||
IO.print([] is Sequence) // expect: true
|
||||
IO.print([] is Object) // expect: true
|
||||
IO.print([] is Bool) // expect: false
|
||||
IO.print([].type == List) // expect: true
|
||||
|
||||
@ -1,8 +1,6 @@
|
||||
var a = [1, 2, 3]
|
||||
var moreThan1 = fn (x) { return x > 1 }
|
||||
var moreThan10 = fn (x) { return x > 10 }
|
||||
var b = a.where(moreThan1)
|
||||
var c = a.where(moreThan10)
|
||||
|
||||
var b = a.where(fn (x) x > 1)
|
||||
IO.print(b) // expect: [2, 3]
|
||||
|
||||
var c = a.where(fn (x) x > 10)
|
||||
IO.print(c) // expect: []
|
||||
|
||||
3
test/range/map.wren
Normal file
3
test/range/map.wren
Normal file
@ -0,0 +1,3 @@
|
||||
var a = 1..3
|
||||
var b = a.map(fn (x) x + 1)
|
||||
IO.print(b) // expect: [2, 3, 4]
|
||||
@ -1,6 +1,7 @@
|
||||
var range = 2..5
|
||||
|
||||
IO.print(range is Range) // expect: true
|
||||
IO.print(range is Sequence) // expect: true
|
||||
IO.print(range is Object) // expect: true
|
||||
IO.print(range is String) // expect: false
|
||||
IO.print(range.type == Range) // expect: true
|
||||
|
||||
6
test/range/where.wren
Normal file
6
test/range/where.wren
Normal file
@ -0,0 +1,6 @@
|
||||
var a = 1..3
|
||||
var b = a.where(fn (x) x > 1)
|
||||
IO.print(b) // expect: [2, 3]
|
||||
|
||||
var c = a.where(fn (x) x > 10)
|
||||
IO.print(c) // expect: []
|
||||
Reference in New Issue
Block a user