Функциональное программирование в красном цвете (аргументы передаются val против ref) - PullRequest
0 голосов
/ 27 мая 2018

Я приобрел и пробираюсь через Красную книгу программирования, недавно доступную от Pakt.

На стр.112 в главе, касающейся функций, что-то попалось на глаза:

  • Скалярные значения передаются по значению, что означает, что копия значения отправляется в функцию

  • Другие значения передаются по ссылке, что означает, что ссылка на значение отправляется функции

Когда я впервые попал в ML и Функциональную парадигму,то, что я любил, было фактом, что ничто не было передано ссылкой.Это дало мне уверенность в том, что все, что я делал внутри функции, никак не повлияет на нее.

Но здесь, в Red, ряды (которые я мог бы сравнить со списком ML) передаются в функциюссылка, что означает, что все, что я делаю с ней внутри функции, наверняка изменит список в источнике.

Существуют ли варианты передачи ряда по значению, как это происходит со скалярами, или это единственный способчтобы добиться этого, чтобы сделать копию параметра и заставить функцию работать с этой копией?

С уважением,

yves

...