вложенные первичные выражения в swift - PullRequest
0 голосов
/ 07 сентября 2018

Мне интересно, как обработать это выражение с помощью swift. Я сделал это в рубине следующим образом:

def disperseValueIntoNSpaces(n,m)
    accum = 0
    dispersedValue = []
    for k in 0...m
        valCrt = ((n*(m-k))/m+0.5)-((n*(m-k-1))/m+0.5)
        dispersedValue.push(valCrt.to_i)
        accum += valCrt
    end
    return dispersedValue
end

и перевел его в swift так:

func disperseValueIntoNSpaces(numOfRows: Int, spaces: Int) -> [Int] {
    var accum: Int = 0
    var n: Float = Float(numOfRows)
    var m: Float = Float(spaces)
    var dispersedValues: [Int] = []
    for k in (0...spaces) {
        let valCrt = ((n*(m-k))/m)+0.5) - ((n*(m-k-1))/m+0.5) 
        // error: expected expression
        // error: Binary operator '-' cannot be applied to operands of type 'Float' and 'Int'
        // error: Consecutive statements on a line must be separated by ';'

        dispersedValues.append(Int(valCrt))
        accum += valCrt
    }
    return dispersedValues
}

Этот Float минус ошибка Int достаточно легко исправить, но я не уверен, как составить математическое уравнение

...