Teste-se em Swift: um quebra-cabeça para os amantes de quebra-cabeças

Nós, a equipe de desenvolvimento móvel da SimbirSoft, usamos a linguagem Swift extensivamente ao criar aplicativos iOS - é bastante seguro, rápido e expressivo. Para aqueles que estão familiarizados com o Swift, preparamos alguns quebra-cabeças. Tente determinar o resultado de cada fragmento de código e compartilhe seus resultados!



Número Pazzler 1


Quantas vezes o texto "foo foi definido" será impresso?



Opções de resposta:


  • A. 1 vez
  • B. 2 vezes
  • C. Nunca
  • D. Erro de compilação
  • E. Erro de tempo de execução

Responda

: B





didSet , .


Número Pazzler 2


Vamos continuar com o didSet : quantas vezes a "barra foi configurada" será impressa?



Opções de resposta:


  • A. 1 vez
  • B. 2 vezes
  • C. Nunca
  • D. Erro de compilação
  • E. Erro de tempo de execução

Responda

: A





didSet — defer.


Número Pazzler 3


Classifique a matriz Bool. O que produzirá o código abaixo?



Opções de resposta:


  • A. [falso, falso, verdadeiro]
  • B. [verdadeiro, falso, falso]
  • C. Erro de compilação
  • D. Erro de tempo de execução

Responda

: C





Bool Comparable, — Referencing instance method 'sort()' on 'MutableCollection' requires that 'Bool' conform to 'Comparable'


Número Pazzler 4


Qual será o resultado do código abaixo?



Opções de resposta:


  • A. nil
  • B. Opcional (ArraySlice ([1, 2, 3, zero, zero])))
  • C. Opcional (ArraySlice ([1, 2, 3]))
  • D. Erro de compilação
  • E. Erro de tempo de execução

Responda

:





Optional(ArraySlice([1, 2, 3])), ArraySlice “ ” .


Pazzler número 5


Vamos jogar com as igualdades. O que veremos ao executar o código abaixo? O que acontece se você substituir "===" por "=="?



Opções de resposta:


  • A. verdadeiro e falso
  • B. falso e falso
  • C. falso e verdadeiro
  • D. verdadeiro e verdadeiro
  • E. erro falso e de compilação
  • F. erro verdadeiro e de compilação
  • G. Erro de compilação nos dois casos
  • H. Erro de compilação e falso
  • I. Erro de compilação e true

Responda

: E







“===” Bool , , . , false. “==” : , Equatable.


Número Pazzler 6


Um pouco sobre polimorfismo. O que será exibido no console?



Opções de resposta:


  • A. foo e barra
  • B. bar e bar
  • C. foo e foo
  • D. Erro de tempo de execução


Verificando ...
Responda

: A.





Swift: , , .


Número Pazzler 7


Finalmente, uma pergunta bastante simples: haverá um erro de compilação aqui?



Opções de resposta:


  • A. Sim
  • B. Não

Responda

: .





, . generic- :




Conclusão


Portanto, examinamos vários fragmentos de código e suposições sobre sua implementação, bem como comparamos expectativas e realidade. Esperamos que você ache interessante e útil!

Escreva nos comentários quantas perguntas você conseguiu responder sem espiar e o que você teve que esmagar sua cabeça) E se você quiser se testar em outros idiomas - escreva seus desejos!

All Articles