Uji diri Anda di Swift: puzzle untuk pecinta puzzle

Kami, tim pengembangan seluler di SimbirSoft, menggunakan bahasa Swift secara luas saat membuat aplikasi iOS - cukup aman, cepat, dan ekspresif. Bagi mereka yang akrab dengan Swift, kami telah menyiapkan beberapa teka-teki yang membingungkan. Cobalah untuk menentukan hasil dari setiap fragmen kode dan bagikan hasil Anda!



Pazzler nomor 1


Berapa kali teks "foo diset" akan dicetak?



Opsi Jawaban:


  • A. 1 kali
  • B. 2 kali
  • C. tidak pernah
  • D. Kesalahan kompilasi
  • E. Kesalahan Runtime

Menjawab

: B





didSet , .


Pazzler nomor 2


Mari kita lanjutkan dengan didSet : berapa kali "bar diatur" akan dicetak?



Opsi Jawaban:


  • A. 1 kali
  • B. 2 kali
  • C. tidak pernah
  • D. Kesalahan kompilasi
  • E. Kesalahan Runtime

Menjawab

: A





didSet β€” defer.


Pazzler nomor 3


Sortir array Bool. Apa yang akan menampilkan kode di bawah ini?



Opsi Jawaban:


  • A. [salah, salah, benar]
  • B. [benar, salah, salah]
  • C. Kesalahan kompilasi
  • D. Kesalahan Runtime

Menjawab

: C





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


Pazzler nomor 4


Apa hasil dari kode di bawah ini?



Opsi Jawaban:


  • A. nihil
  • B. Opsional (ArraySlice ([1, 2, 3, nil, nil]))
  • C. Opsional (ArraySlice ([1, 2, 3])))
  • D. Kesalahan kompilasi
  • E. Kesalahan Runtime

Menjawab

:





Optional(ArraySlice([1, 2, 3])), ArraySlice β€œ ” .


Pazzler nomor 5


Mari kita bermain dengan persamaan. Apa yang akan kita lihat ketika mengeksekusi kode di bawah ini? Apa yang terjadi jika Anda mengganti "===" dengan "=="?



Opsi Jawaban:


  • A. benar dan salah
  • B. salah dan salah
  • C. salah dan benar
  • D. benar dan benar
  • E. kesalahan salah dan kompilasi
  • F. Kesalahan benar dan kompilasi
  • G. Kesalahan kompilasi dalam kedua kasus
  • H. Kesalahan kompilasi dan false
  • I. Kesalahan kompilasi dan true

Menjawab

: E







β€œ===” Bool , , . , false. β€œ==” : , Equatable.


Pazzler nomor 6


Sedikit tentang polimorfisme. Apa yang akan ditampilkan di konsol?



Opsi Jawaban:


  • A. foo dan bar
  • B. bar dan bar
  • C. foo dan foo
  • D. Kesalahan Runtime


Memeriksa ...
Menjawab

: A.





Swift: , , .


Pazzler nomor 7


Akhirnya, pertanyaan yang agak sederhana: apakah akan ada kesalahan kompilasi di sini?



Opsi Jawaban:


  • A. Ya
  • B. Tidak

Menjawab

: .





, . generic- :




Kesimpulan


Jadi, kami telah memeriksa beberapa fragmen kode dan asumsi mengenai implementasinya, serta membandingkan harapan dan kenyataan. Kami harap Anda menemukan itu menarik dan bermanfaat!

Tulis di komentar berapa banyak pertanyaan yang berhasil Anda jawab tanpa mengintip, dan apa yang harus Anda hancurkan) Dan jika Anda ingin menguji diri sendiri dalam bahasa lain - tulis keinginan Anda!

All Articles