В настоящее время я пишу некоторые уродливые код, какЕсть ли операция разделения, которая производит как фактор, так и напоминание?
def div(dividend: Int, divisor: Int) = {
val q = dividend/divisor
val mod = dividend % divisor
(q, mod)
}
указано ли это в стандартной библиотеке?
С точки зрения оптимизации оба 'divison' и' mod' - это дорогостоящая операция, и мы выполняем их оба. Есть ли способ взять оба результата с одним процессом? – Rumoku
Один, который работает для всех 'Integral'' T' ('Int',' Long', 'BigInt' и т. Д.)? Нет. Может ли это быть сделано для 'Int' или для' Long' конкретно, следует задать в отдельном вопросе; но если это возможно, я не удивлюсь, если компилятор сделает это автоматически. –
Вы можете, конечно, сделать 'val z = x/y; (z, x - z * y) ', чтобы избежать« моды », но в конечном итоге он может быть медленнее. –