Я приобрел и пробираюсь через Красную книгу программирования, недавно доступную от Pakt.
На стр.112 в главе, касающейся функций, что-то попалось на глаза:
Скалярные значения передаются по значению, что означает, что копия значения отправляется в функцию
Другие значения передаются по ссылке, что означает, что ссылка на значение отправляется функции
Когда я впервые попал в ML и Функциональную парадигму,то, что я любил, было фактом, что ничто не было передано ссылкой.Это дало мне уверенность в том, что все, что я делал внутри функции, никак не повлияет на нее.
Но здесь, в Red, ряды (которые я мог бы сравнить со списком ML) передаются в функциюссылка, что означает, что все, что я делаю с ней внутри функции, наверняка изменит список в источнике.
Существуют ли варианты передачи ряда по значению, как это происходит со скалярами, или это единственный способчтобы добиться этого, чтобы сделать копию параметра и заставить функцию работать с этой копией?
С уважением,
yves