feat: extract map and where into Sequence base class for List and Range
Extract the common `map` and `where` methods from `List` into a new `Sequence` base class, making `List is Sequence` and `Range is Sequence`. Remove duplicate native method registrations for Range in wren_core.c and add new test files for Range map/where operations.
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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