2014年07月19日
Posted by 屋台ブルー at
2014年07月19日00:00 Comment(0)
Swiftで遊ぼう! - 11 関数のカプセル化?

func buildincrementor() -> () -> Int {
var count = 0
func increment() -> Int {
++count
return count
}
return increment
}
var a = buildincrementor()
a() // 1
a() // 2
increment() // エラーです。
関数の中に関数が宣言されていて、この関数の中の関数increment()は、いわゆるカプセル化ってやつでしょうね。こんなふうに守ることができるってことです。
たぶん、プログラムを書いている人には当たり前の概念なんでしょうが、素人にはなかなか理解に苦しむところです。
しかし、こういうことが理解できてくると面白いですよね。プログラミング。新しいXcodeのplaygroundって本当に面白いですよ。