#scala #import
#scala #импорт
Вопрос:
Ниже приведен фрагмент кода функции в Scala:
def sqrtplus1(x: Int) = {
import scala.math.sqrt
sqrt(x) 1.0
}
И я делаю следующие 3 вызова вышеупомянутой функции:
sqrtplus1(5) // outputs 26
sqrtplus1(6) // outputs 37
sqrtplus1(7) // outputs 50
В то время как вышеописанное работает нормально,
Однако я хотел бы знать, сколько раз пакет scala.math.sqrt
будет импортирован при вызове sqrtplus1
функции 3
раз? Спасибо!
Ответ №1:
Этот ответ от @Rob Norris @tpolecat из scala / center (сообщество):
Все, что делает импорт, это позволяет ссылаться на символы без префикса. В той степени, в какой это вообще «происходит», это полностью происходит во время компиляции. Операторы импорта не имеют представления во время выполнения.
(В отличие, например, от Python, где импорт — это оператор, который может привести к тому, что что-то произойдет.)