次の列挙を定義しました
enum Languages :String {
case Spanish = "Spanish"
case English = "English"
case German = "German"
}
プロパティと、そのプロパティをブロックとして使用する func を持つ次のクラスがあります。
class Person {
var language:Languages = Languages.Spanish
var rosettaStoneCourse:Languages -> Void = {
(lang:Languages) -> Void in
self.language = lang
}
func learnLanguage(lang:Languages, course:(Languages) -> Void {
course(lang)
}
}
すべてを自分の Playground ファイルにコピーして貼り付けてエラーを確認する方が簡単かもしれませんが、そうしたくない場合はここにリストします。次のエラーが表示されます
self.language = lang
私は「未解決の識別子の使用」を得ていますself
関数ではlearnLanguage
、単語の後にコンマを置くことを提案していますVoid
learnLanguage
そして、それが言っExpected '}'
ているパラメータの閉じ中括弧で。
最も奇妙なことは、 lazy 修飾子を に追加すると、rosettaStoneCourse
リストした最初のエラーが消えることです!
これには何らかの意味がありますか、それともPlayground
ベータ版であり、奇妙なことが予想されるからでしょうか?