mirror of
https://github.com/wren-lang/wren.git
synced 2026-01-11 22:28:45 +01:00
Merge pull request #222 from bjorn/sequence_contains
Moved List.contains to Sequence.contains, added tests and docs
This commit is contained in:
@ -1,4 +1,13 @@
|
||||
class Sequence {
|
||||
contains(element) {
|
||||
for (item in this) {
|
||||
if (element == item) {
|
||||
return true
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
count {
|
||||
var result = 0
|
||||
for (element in this) {
|
||||
@ -92,15 +101,6 @@ class List is Sequence {
|
||||
}
|
||||
return result
|
||||
}
|
||||
|
||||
contains(element) {
|
||||
for (item in this) {
|
||||
if (element == item) {
|
||||
return true
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
||||
class Map {
|
||||
|
||||
@ -30,6 +30,10 @@ Otherwise, returns `false`.
|
||||
[1, 2, 3].any {|n| n < 1} // False.
|
||||
[1, 2, 3].any {|n| n > 2} // True.
|
||||
|
||||
### **contains**(element)
|
||||
|
||||
Returns whether the sequence contains any element equal to the given element.
|
||||
|
||||
### **join**(sep)
|
||||
|
||||
Returns a string representation of the list. The string representations of the
|
||||
|
||||
@ -45,6 +45,15 @@
|
||||
// This string literal is generated automatically from core. Do not edit.
|
||||
static const char* libSource =
|
||||
"class Sequence {\n"
|
||||
" contains(element) {\n"
|
||||
" for (item in this) {\n"
|
||||
" if (element == item) {\n"
|
||||
" return true\n"
|
||||
" }\n"
|
||||
" }\n"
|
||||
" return false\n"
|
||||
" }\n"
|
||||
"\n"
|
||||
" count {\n"
|
||||
" var result = 0\n"
|
||||
" for (element in this) {\n"
|
||||
@ -138,15 +147,6 @@ static const char* libSource =
|
||||
" }\n"
|
||||
" return result\n"
|
||||
" }\n"
|
||||
"\n"
|
||||
" contains(element) {\n"
|
||||
" for (item in this) {\n"
|
||||
" if (element == item) {\n"
|
||||
" return true\n"
|
||||
" }\n"
|
||||
" }\n"
|
||||
" return false\n"
|
||||
" }\n"
|
||||
"}\n"
|
||||
"\n"
|
||||
"class Map {\n"
|
||||
|
||||
6
test/core/list/contains.wren
Normal file
6
test/core/list/contains.wren
Normal file
@ -0,0 +1,6 @@
|
||||
var list = [1, 2, 3, 4, "foo"]
|
||||
|
||||
IO.print(list.contains(2)) // expect: true
|
||||
IO.print(list.contains(5)) // expect: false
|
||||
IO.print(list.contains("foo")) // expect: true
|
||||
IO.print(list.contains("bar")) // expect: false
|
||||
23
test/core/range/contains.wren
Normal file
23
test/core/range/contains.wren
Normal file
@ -0,0 +1,23 @@
|
||||
// Ordered range.
|
||||
IO.print((2..5).contains(1)) // expect: false
|
||||
IO.print((2..5).contains(2)) // expect: true
|
||||
IO.print((2..5).contains(5)) // expect: true
|
||||
IO.print((2..5).contains(6)) // expect: false
|
||||
|
||||
// Backwards range.
|
||||
IO.print((5..2).contains(1)) // expect: false
|
||||
IO.print((5..2).contains(2)) // expect: true
|
||||
IO.print((5..2).contains(5)) // expect: true
|
||||
IO.print((5..2).contains(6)) // expect: false
|
||||
|
||||
// Exclusive ordered range.
|
||||
IO.print((2...5).contains(1)) // expect: false
|
||||
IO.print((2...5).contains(2)) // expect: true
|
||||
IO.print((2...5).contains(5)) // expect: false
|
||||
IO.print((2...5).contains(6)) // expect: false
|
||||
|
||||
// Exclusive backwards range.
|
||||
IO.print((5...2).contains(1)) // expect: false
|
||||
IO.print((5...2).contains(2)) // expect: false
|
||||
IO.print((5...2).contains(5)) // expect: true
|
||||
IO.print((5...2).contains(6)) // expect: false
|
||||
Reference in New Issue
Block a user