Testez-vous dans Swift: un puzzle pour les amateurs de puzzle

Nous, l'équipe de développement mobile de SimbirSoft, utilisons largement le langage Swift lors de la création d'applications iOS - il est assez sûr, rapide et expressif. Pour ceux qui connaissent Swift, nous avons préparé quelques puzzles. Essayez de déterminer le résultat de chaque fragment de code et partagez vos résultats!



Pazzler numéro 1


Combien de fois le texte «foo was set» sera-t-il imprimé?



Options de réponse:


  • A. 1 fois
  • B. 2 fois
  • C. Jamais
  • D. Erreur de compilation
  • E. Erreur d'exĂ©cution

RĂ©ponse

: B





didSet , .


Pazzler numéro 2


Continuons avec didSet : combien de fois la «barre a été réglée» sera-t-elle imprimée?



Options de réponse:


  • A. 1 fois
  • B. 2 fois
  • C. Jamais
  • D. Erreur de compilation
  • E. Erreur d'exĂ©cution

RĂ©ponse

: A





didSet — defer.


Pazzler numéro 3


Triez le tableau Bool. Que produira le code ci-dessous?



Options de réponse:


  • A. [faux, faux, vrai]
  • B. [vrai, faux, faux]
  • C. Erreur de compilation
  • D. Erreur d'exĂ©cution

RĂ©ponse

: C





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


Pazzler numéro 4


Quel sera le résultat du code ci-dessous?



Options de réponse:


  • A. nĂ©ant
  • B. Facultatif (ArraySlice ([1, 2, 3, nil, nil]))
  • C. Facultatif (ArraySlice ([1, 2, 3]))
  • D. Erreur de compilation
  • E. Erreur d'exĂ©cution

RĂ©ponse

:





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


Pazzler numéro 5


Jouons avec les égalités. Que verrons-nous lors de l'exécution du code ci-dessous? Que se passe-t-il si vous remplacez «===» par «==»?



Options de réponse:


  • A. vrai et faux
  • Faux et faux
  • C. faux et vrai
  • D. vrai et vrai
  • E. Faux et erreur de compilation
  • F. true et erreur de compilation
  • G. Erreur de compilation dans les deux cas
  • H. Erreur de compilation et faux
  • I. Erreur de compilation et vrai

RĂ©ponse

: E







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


Pazzler numéro 6


Un peu sur le polymorphisme. Qu'est-ce qui sera affiché dans la console?



Options de réponse:


  • A. foo et bar
  • Bar et bar
  • C. foo et foo
  • D. Erreur d'exĂ©cution


VĂ©rification ...
RĂ©ponse

: A.





Swift: , , .


Pazzler numéro 7


Enfin, une question assez simple: y aura-t-il une erreur de compilation ici?



Options de réponse:


  • A. Oui
  • Non

RĂ©ponse

: .





, . generic- :




Conclusion


Nous avons donc examiné plusieurs fragments de code et hypothÚses concernant leur implémentation, ainsi que comparé les attentes et la réalité. Nous espérons que vous le trouverez intéressant et utile!

Écrivez dans les commentaires combien de questions vous avez rĂ©ussi Ă  rĂ©pondre sans regarder, et ce que vous avez dĂ» vous casser la tĂȘte) Et si vous voulez vous tester dans d'autres langues - Ă©crivez vos souhaits!

All Articles