2016-09-06 6 views
1

私は年の毎月を含むパラメータとしてenumをとる関数を作成しています。私はこの仕事を機能なしで作りましたが、それは考え方ではありませんでした。enumを関数パラメータとして使用する

など、私は9月を使用している場合、私は入力それは5を返す必要があります可能性がある場合、関数は、9を返す必要がありますように、switch文で動作するはずの機能、

私はIBMスウィフトサンドボックスを使用していますそしてそれは私に次のエラーを与える:

/swift-execution/Sources/main.swift:129:1: warning: result of call tonumeroMes(mes:)' is unused numeroMes(mes:.Septiembre)

は、ここに私の列挙です:

enum meses { 
    case Enero 
    case Febrero 
    case Marzo 
    case Abril 
    case Mayo 
    case Junio 
    case Julio 
    case Agosto 
    case Septiembre 
    case Octubre 
    case Noviembre 
    case Diciembre 
} 

と作業されていない機能:

func numeroMes(mes: meses) -> Int { 
    switch mes { 
     case .Enero: 
      return 1 
     case .Febrero: 
      return 2 
     case .Marzo: 
      return 3 
     case .Abril: 
      return 4 
     case .Mayo: 
      return 5 
     case .Junio: 
      return 6 
     case .Julio: 
      return 7 
     case .Agosto: 
      return 8 
     case .Septiembre: 
      return 9 
     case .Octubre: 
      return 10 
     case .Noviembre: 
      return 11 
     case .Diciembre: 
      return 12 
    } 
} 

numeroMes(mes:.Septiembre) 
+2

エラーではありません、それはあなたが注意点として、関数呼び出し – Hamish

+1

の結果を使用していない単なる警告ですが、大会は種類が、 'UpperCamelCase'する必要がありますので、あなたの列挙型があるべきと述べています「Meses」と呼ばれる。 – Hamish

+0

ああそうです、私は最後の行を印刷物の中に置き、それが働きました。しかし、最初の列挙型は関数のパラメータとして使用されますか? – minijavi19

答えて

3

これはエラーではありません。 numeroMesへの呼び出しの結果が使用されていないということだけです。

ちなみに、カスタム変換関数を定義する代わりに、列挙に生の型を使用できるようです。ここでは他の値がそうFebreroMarzo3などで、2で、1からインクリメントする方法

enum Mese: Int { 
    case Enero = 1 
    case Febrero 
    case Marzo 
    case Abril 
    case Mayo 
    case Junio 
    case Julio 
    case Agosto 
    case Septiembre 
    case Octubre 
    case Noviembre 
    case Diciembre 
} 

です。

現在、列挙から生の値を取得する必要がある場合は、rawValueを呼び出してください。例:

Mese.Febrero.rawValue // 2 
関連する問題