Clause
← Уся документація

Перекладено з англійського оригіналу · 06042fa · 2026-10-09 · Читати англійською

Функціональні значення

План 11, steps 32–35 (2026-10-07): fun F/A, fun M:F/A, анонімні fun із захопленими змінними (замикання), іменовані fun (fun Name(...) -> ... end), виклики функціональних значень (F(Args)) і динамічні виклики (M:F(Args), apply/2,3). Факти взято із зафіксованих вихідних кодів maint-29 (erts/emulator/beam/utils.c erts_cmp, erl_printf_term.c, erl_lint) і перевірок на OTP 29.1.1.

Значення

Вихідний кодЗначенняВиклики входять у
fun f/1Локальний fun цього модуля; кожен fun f/1 модуля — те саме значенняf/1 цього модуля, експортовану чи ні
fun m:f/1Зовнішній fun, що називає m:f/1, також для поточного модуляm:f/1, якщо її експортує модуль програми
fun(X) -> ... endЛокальний fun, що захоплює змінні, які він читає зі свого творця; кожне обчислення будує нове значенняВласну згенеровану функцію fun
fun Name(X) -> ... endТе саме, з Name, зв'язаним із fun усередині його клаузВласну згенеровану функцію fun
fun M:F/A зі зміннимиЗовнішній fun, побудований під час обчислення; дорівнює буквальному fun m:f/1, який він називаєm:f/1, якщо її експортує модуль програми

Динамічні виклики

Замикання

Подання

Порівняння і друк

Відмінності

Зафіксовано у відмінностях: