OSDN Git Service

staticプロパティをインスタンスプロパティに変更
[kcd/KCD.git] / KCD / SequenceExtensions.swift
1 //
2 //  SequenceExtensions.swift
3 //  KCD
4 //
5 //  Created by Hori,Masaki on 2018/08/05.
6 //  Copyright © 2018年 Hori,Masaki. All rights reserved.
7 //
8
9 import Foundation
10
11 // powered by http://stackoverflow.com/questions/40579554/how-to-display-unique-elements-of-an-array-using-swift
12 extension Sequence where Element: Hashable {
13     
14     func unique() -> [Element] {
15         
16         var alreadyAdded = Set<Element>()
17         
18         return filter {
19             
20             if alreadyAdded.contains($0) {
21                 
22                 return false
23             }
24             
25             alreadyAdded.insert($0)
26             
27             return true
28         }
29     }
30 }
31
32 extension Sequence {
33     
34     func noneOp(_ f: (Self) -> Void) -> Self {
35         
36         f(self)
37         
38         return self
39     }
40 }