Add function “drop” for discarding elements from a sequence.
This commit is contained in:
@@ -82,3 +82,12 @@ public func join<C : ExtensibleCollectionType, S : SequenceType where S.Generato
|
||||
public func toArray <S : SequenceType, T where S.Generator.Element == T>(sequence: S) -> [T] {
|
||||
return Array(sequence)
|
||||
}
|
||||
|
||||
/** Discard all elements in `tobedropped` from sequence. */
|
||||
public func drop <S: SequenceType, T: Equatable where S.Generator.Element == T>
|
||||
(tobedropped: [T])
|
||||
(sequence: S)
|
||||
-> LazySequence<FilterSequenceView<S>> {
|
||||
|
||||
return sequence |> filter { !contains(tobedropped, $0) }
|
||||
}
|
||||
|
||||
@@ -36,4 +36,12 @@ class Pipes_Tests: XCTestCase {
|
||||
|
||||
XCTAssertEqual( result, [4,1,6] )
|
||||
}
|
||||
|
||||
func testDrop () {
|
||||
let numbers = [1,2,3,4,5,6]
|
||||
|
||||
let result = numbers |> drop([2,3,5]) |> toArray
|
||||
|
||||
XCTAssertEqual( result, [1,4,6] )
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user