selfの参照について
class Hoge {
var a: Int
init(a: Int) {
self.a = a // (1)
}
var b: Int {
return self.a // (2)
}
func c() -> Int {
return self.a // (3)
}
var d = { self.a * 2 }() // (4)
}
上記コードで、(1),(2),(3)のselfは正しく自分を参照しますが、(4)は以下エラーが表示されます。
<stdin>:17:19: error: use of unresolved identifier 'self'
var d = { self.a * 2 }() // (4)
^
また、selfを外し、
var d = { a * 2 }() // (4)
とすると、以下エラーが表示されます。
<stdin>:17:19: error: 'Hoge.Type' does not have a member named 'a'
var d = { a * 2 }() // (4)
^
実行環境は、以下になるのですが、この環境のバグでしょうか?
それとも、何か間違っているのでしょうか?
よろしくお願いします。