enumの使い方を確認する。
列挙型と呼ばれていて使い方がいまいちピンとこなかったが
関連する値をまとめられるものと理解した。
信号機の状態を表すと 青 黄 赤 がある。
これらは信号機の状態という意味で関連しているので
このようにまとめられる。
enum Signal:String{
case red
case yellow
case green
}
print( Signal.red ) // red
Signal.red の値は redとなるが値をもたせて扱いたい場合はこのように書く
enum Signal:String{
case red = "1"
case yellow
case green
}
print(Signal.red.rawValue) //1
状態を参照してそれぞれのケースで処理したい時は
var i = Signal.red
switch (i) {
case .red :
print("とまれ")
case .yellow:
print("注意")
default:
print("0")
}
//とまれ
enumに関数を定義して書くこともできる
enum Signal:String{
case red = "1"
case yellow
case green
func action()->String{
switch(self){
case .red:
return "とまれ"
case .yellow:
return "注意"
default:
return "0"
}
}
}
Signal.red.action() //とまれ
一旦動きは確認できた。
*間違いや便利な使い方があればご指摘下さい