1. Swift / Говнокод #22898

    −11

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    func sumOf(_ numbers: Int...) -> Int {
        var sum = 0
        for number in numbers {
            sum += number
        }
        return sum
    }
    
    func average(numbers: Int...) -> Double {
        var sum = sumOf(numbers)
        
        return Double(sum) / Double(numbers.count)
    }
    
    // ERROR at line 10, col 21: cannot convert value of type '[Int]' to expected argument type 'Int'
    //    var sum = sumOf(numbers)

    Смысл жёстко типизированных Variadic arguments ускользает от меня.

    Предлагается как синтаксический сахар на замену [Type] (экономия на скобках?), не работает в неожиданных местах без объявления войны.
    Зато Эппл убрала в третьем Свифте раскрытие кортежа в качестве аргументов функций: https://github.com/apple/swift-evolution/blob/master/proposals/0029-remove-implicit-tuple-splat.md

    Здесь играем, здесь не играем, здесь рыбу заворачивали

    Запостил: negr, 04 Мая 2017

    Комментарии (7) RSS

    Добавить комментарий