我正在一個代碼中,我聲明的「VAL」型變量,並將其傳遞給一個遞歸函數,其改變它:過客「VAL」類型的函數
def calculateDates(from: LocalDate, until: LocalDate, by: RDate, holidays: HolidayCalendar): Seq[LocalDate] =
{
val dateSeq: Seq[LocalDate] = Seq(from)
def calculateDatesRecur(from: LocalDate, dateSeq: Seq[LocalDate]): Seq[LocalDate] =
{
val date = by(from, holidays)
if (date.compareTo(until) <= 0)
calculateDatesRecur(date, dateSeq :+ date)
else
dateSeq
}
calculateDatesRecur(from, dateSeq)
}
「dateSeq」是一個變量最終是從'從'到'直到'的日期列表。那麼,事實證明它的工作原理。它不應該對嗎?因爲'dateSeq'變量已被初始化爲'val'。它是否將其副本發送到遞歸函數?