Trabalhando com uma função dentro de uma enumeração rápida

Video: Como Formatar corretamente seu trabalho acadêmico conforme normas ABNT - parte 1

Com o mesmo código básico, você pode adicionar uma função para uma enumeração na Swift. Isso é algo que você não tenha visto em C e talvez não em outros idiomas também. É uma nova maneira de olhar para enumerações.

Adicionando uma função simples para uma enumeração

Aqui é a função que é adicionado à enumeração. Você pode colocá-lo em qualquer lugar (exceto, é claro, não no meio do caso):

 func enumFunction () -gt; Int {return -17}

A função é chamada enumFunction e ele retorna um int com o valor de -17. Pode aceder a esta função a partir de qualquer instância da enumeração. Aqui está um exemplo:

Seja i = Place.bars.enumFunction ()

Você pode estar pensando: “Espere um momento. Essa enumeração é digitado como cordas e por isso deve retornar uma String “.

Isso é verdade, mas você não está se referindo ao valor retornado pela enumeração. Você está pedindo um membro da enumeração (nem mesmo uma instância da enumeração) para retornar o resultado de enumFunction, que é declarado como int.

Adicionando uma instrução switch para uma função dentro de uma enumeração

enumerações Swift são muitas vezes utilizados em conjunto com interruptor afirmações. Aqui está uma função para colocar dentro da enumeração que contém uma interruptor declaração. Quando você tem uma instância de uma enumeração (ou apenas a própria enumeração), você pode chamar uma função interna de um elemento apenas como você viu no trecho de código anterior. E, como o trecho de código anterior, o resultado retornado pela função não precisa ser do mesmo tipo que o tipo de enumeração.

Video: Formatando Trabalhos ABNT em um clique - PADEAC



No código a seguir uma função que retorna um Corda baseia-se no resultado de uma interruptor declaração de que usa os elementos da enumeração. Note-se que os elementos do interruptor não são cordas (notar a ausência de aspas e a presença dos períodos líderes no caso nomes).

Experiência com este código, e você vai ver que se você definir o tipo de enumeração para int (ou Duplo ou outra coisa senão String) a função ainda irá retornar uma Corda. Esse é o resultado da função e não o tipo de enumeração. Esta é uma técnica muito útil para usar, e muitos desenvolvedores acham que ele reduz drasticamente o código que eles tem que escrever. (Essa if-then-else-if declarações dentro caso interruptor declarações podem ser omitidos, como pode interruptor instruções dentro caso afirmações.)

func enumChoiceFunction () -gt; Cordas {switch auto {case .track1, track2: return "correr ou caminhar"caso .park: return "Andar a pé, sentado em um banco, alimentação de aves"default: retorno "desfrutar da natureza"}}

A figura mostra o código descrito aqui.

Video: Matemática - Aula 30 - Análise Combinatória - Parte 1

O próprio código é fornecido aqui:

enum Lugar: String {casepark = "parque", Piscina = "piscina", Barras = "bares de escalada", Track1 = "pista de corrida", Track2 = "pista de caminhada"estática let instalações = [parque, piscina, bares, track1, track2] func enumFunction () -gt; Int {retorno -17} enumChoiceFunction func () -gt; Cordas {switch auto {case .track1, track2: return "correr ou caminhar"caso .park: return "Andar a pé, sentado em um banco, alimentação de aves"default: retorno "desfrutar da natureza"}}} Deixe i = Place.bars.enumFunction () deixe e = Place.pool.rawValueprintln (Place.pool) seja x = Place.track1.enumChoiceFunction () resultado var: String = "para comodidade na Place.facilities {resultado = resultado + + amenity.rawValue ", "} Println (resultado)

Publicações relacionadas