FYI: swift.org Blogpost 'Conditional Conformance in the Standard Library'

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • FYI: swift.org Blogpost 'Conditional Conformance in the Standard Library'

    Hallo

    Ich bin heute auf swift.org auf einen neuen Blogpost gestoßen. Da man da normalerweise nicht immer regelmäßig nachschaut, wollte ich das hier teilen, insbesondere weil ich den Beitrag für recht lesenswert halte.

    Primär geht es darum, daß Swift 4.1 'Conditional Conformance' mitbringt. Das ist an sich keine große Neuheit. Das Feature war auch schon etwas länger über ein spezielles Compiler flag in den Developer Snapshots zugänglich. Interessant finde ich den Artikel wegen der Ausführungen und Beispiele zur lazy-Property bei Sequences, bzw. Collections, wie das funktioniert und wie das mit Conditional Conformance zusammenhängt.

    Ich hab das selber gedanklich noch nicht ganz durchgekaut…

    Conditional Conformance in the Standard Library
    Das iPhone sagt: "Zum Antworten streichen". Wie? Echt Jetzt? Muß ich erst die Wohnung streichen!?
  • Ausgehend von dem Blogpost habe ich gerade mal so etwas mit lazy rumgespielt.

    Quellcode

    1. var aa = [1, 2, nil, 4]
    2. var la = aa.lazy
    3. // LazyCollection<Array<Optional<Int>>>
    4. var lam = la.map{ $0 != nil ? $0! * 2 : nil }
    5. // LazyMapCollection<Array<Optional<Int>>, Optional<Int>>
    6. var lamp = lam.prefix(2)
    7. // LazyMapCollection<ArraySlice<Optional<Int>>, Optional<Int>>

    WAT!? LazyMapCollection<ArraySlice<Optional<Int>>, Optional<Int>>! Krass!!! Jetzt weiß ich, warum Swift unbedingt Type inference braucht. Wer will das schon freiwillig tippen!? :D
    Das iPhone sagt: "Zum Antworten streichen". Wie? Echt Jetzt? Muß ich erst die Wohnung streichen!?
  • MCDan schrieb:

    Also ich verstehe bei dem Source Code leider nur Bahnhof.

    Ich versteh nicht, welche Vorteile es bringt, wenn man Source Code zwar schneller eintippen aber dafür dann viel schlechter/schwieriger lesen kann. ?(

    Die Kommentare sind auch klasse, da diese genau so kryptisch wie der Code sind. :D
    Die generischen Datentypen schaffen letztendlich mehr Probleme als sie lösen.
    „Meine Komplikation hatte eine Komplikation.“