我正在创建一个函数,它将枚举作为包含一年中每个月的参数。我没有功能就完成了这项工作,但这不是主意。
该函数应该与switch语句一起使用,因此如果我使用9月,该函数应该返回9,如果我输入可能它应该返回5,等等。
我正在使用IBM Swift Sandbox,它给出了以下错误:
/swift-execution/Sources/main.swift:129:1:警告:调用tonumeroMes(mes :)'的结果未使用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)
答案 0 :(得分:3)
警告并非错误。它只是说没有使用numeroMes
调用的结果。
顺便说一句,看起来您可以使用原始类型进行枚举,而不是定义自定义转换函数。这是
的方式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
}
其他值将从1
开始增加,因此Febrero
为2
,Marzo
为3
,依此类推。
现在,无论何时需要从枚举中检索原始值,只需在其上调用rawValue
即可。例如:
Mese.Febrero.rawValue // 2