0001
0009 parameterparameter
0015 public func filterLastContiguous<T>(array: [T], filter: T -> Bool) -> [T] {
0016 var arrayWithTrailingNonMatchesRemoved = array
0018 while let last = arrayWithTrailingNonMatchesRemoved.last where !filter(last) {
0019 arrayWithTrailingNonMatchesRemoved.removeLast()
0020 }
0021 var lastContiguousArray = [T]()
0022 while let last = arrayWithTrailingNonMatchesRemoved.last where filter(last) {
0024 lastContiguousArray.insert(arrayWithTrailingNonMatchesRemoved.removeLast(),
0025 atIndex: 0)
0026 }
0027 return lastContiguousArray
0028 }
0029