Zostałem wprowadzony, że dane są domyślnie niezmienne w F #. Kiedy przypisujemy wartość do jakiejś zmiennej, tak naprawdę dzieje się tak, że ponownie wiąże wartość zmiennej, ale ustawienie nowej wartości jest czymś innym. Ponowne wiązanie nazywa się Shadowing, podczas gdy ustawienie nowej wartości jest niemożliwe, jeśli wyraźnie nie powiemy, że wartość zmiennej jest zmienna.Shadowing vs. Ustawianie wartości w F #
Czy ktoś może wyjaśnić mi tę koncepcję w szczegółach? jaka jest różnica między shadowing (ponowne wiązanie) przez
let var = "new_value"
i ustawienie nowej wartości jak
var <- "new_value"
Jest to moment, że podczas ponownego wiązania tworzymy inny obiekt i przypisujemy adres tego obiektu do zmiennej natomiast w drugi przykład zmieniamy samą wartość? Przyniosłem to ze zrozumienia pamięci/stosu na stosie ... Mogę się mylić.
Dzięki