Вы можете считать func2
эквивалентом вложенной переменной.Вы не можете получить доступ к этому вне его родительской функции.
Попробуйте изменить несколько вещей, чтобы сделать этот пример более наглядным:
object test {
def func1 (df: dataframe): String = {
val data = "hi"
"bye"
}
}
val t1 = test
t1.func1(df).data
Ожидаете ли вы получить доступ к data
здесь?
Если вы попытаетесьчтобы сделать ссылку на func2
вне func1
, вы получите ошибку компилятора.
Если вам нужен доступ к func2
и у вас нет других ограничений, я бы рекомендовал определить еговыходит за рамки func1
.