Подписывайтесь на Youtube канал:
Объявляем функции
Объявление функции начинается с перечня параметров в скобках, за которыми следует знак равно и знак больше. Далее следует тело функции.
Параметры функции становятся переменными.
Для каждого параметра можно указать и тип данных.
Так как тело функции является выражением, которое возвращает какое-то значение (объект), то в теле функции можно использовать блоки let, которые возвращают какое-то значение (объект).
Функция без let:
// Перечисляем параметры с указанием типов данных
(m as number, h as number) =>
// Тело функции
m / Number.Power(h, 2)
Функция с let:
// Перечисляем параметры с указанием типов данных
(m as number, h as number) =>
// Тело функции с блоком let
let
bmi = m / Number.Power(h, 2)
in
bmi
Вложенные функции
Как и все выражения функции могут быть вложены в другие выражения, а могут и сами быть вложены.
Разберем пример, где функция будет объявлена внутри выражения let.
Создадим функцию для вычисления ежемесячного платежа по кредиту, а потом применим эту функцию к данным из столбца.
let
// Создадим функцию
monthly_payment = (loan_amt as number, int_rate as number, term as number) =>
Number.Round(
loan_amt * (int_rate / 12 + (int_rate / 12 / (Number.Power(1 + int_rate / 12, term) - 1))),
0
),
// Лист с числами
lists = List.Numbers(100000, 10, 50000),
// Преобразовать лист в таблицу
table = Table.FromColumns({lists}, {"Loan Amount"}),
// Применим пользовательскую функцию
col_monthly_payment = Table.AddColumn(
table,
"Montyly Payment",
each monthly_payment([Loan Amount], 0.05, 48),
Number.Type
)
in
col_monthly_payment
Примененные функции
- Number.Power
- List.Numbers
- Number.Round
- Number.Type
- Table.AddColumn
- Table.FromColumns