Аргументы функции
Часть раздела Основы путешествия по R на Coddy — урок 47 из 78.
Функции становятся гораздо мощнее, когда они могут принимать входные данные. Аргументы (также называемые параметрами) позволяют передавать значения в функцию, делая её гибкой и пригодной для повторного использования в различных ситуациях.
Чтобы добавить аргументы, поместите их в скобки при определении функции:
greet <- function(name) {
print(paste("Hello,", name))
}
greet("Alice")
greet("Bob")Вывод:
[1] "Hello, Alice"
[1] "Hello, Bob"Теперь функция работает с любым именем, которое вы укажете. Когда вы вызываете greet("Alice"), значение "Alice" присваивается параметру name внутри функции.
Вы можете определить несколько аргументов, разделяя их запятыми:
add <- function(a, b) {
print(a + b)
}
add(5, 3)
add(10, 20)Результат:
[1] 8
[1] 30При вызове функции с несколькими аргументами значения сопоставляются с параметрами по порядку. Первое значение передается первому параметру, второе значение — второму параметру и так далее.
Задание
ЛегкоСоздайте функцию с именем calculate_area, которая принимает два аргумента: length и width. Функция должна выводить площадь (длину, умноженную на ширину), используя print().
Считайте два числа из входных данных, преобразуйте их в числовые значения и вызовите вашу функцию с этими значениями.
Например, если входные данные — 5 и 3, результат должен быть:
[1] 15Если входные данные — 7 и 4, результат должен быть:
[1] 28Шпаргалка
Функции могут принимать аргументы (параметры), что делает их гибкими и переиспользуемыми. Аргументы указываются в скобках при определении функции:
greet <- function(name) {
print(paste("Hello,", name))
}
greet("Alice") # [1] "Hello, Alice"При вызове функции передаваемое вами значение присваивается параметру внутри функции.
Вы можете определить несколько аргументов, разделяя их запятыми:
add <- function(a, b) {
print(a + b)
}
add(5, 3) # [1] 8При вызове функции с несколькими аргументами значения сопоставляются с параметрами по порядку.
Попробуйте сами
# Чтение входных данных
con <- file("stdin", "r")
length <- as.numeric(suppressWarnings(readLines(con, n = 1)))
width <- as.numeric(suppressWarnings(readLines(con, n = 1)))
close(con)
# TODO: Создайте функцию с именем calculate_area, которая принимает length и width
# и выводит площадь (length * width)
# Вызовите вашу функцию с входными значениямиВ этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Операторы. Часть 2
Логические операторы (AND, OR)Логические операторы. Часть 2 (NOT)Повторение: простая логикаВекторизованная логика. Часть 1Векторизованная логика. Часть 27Калькулятор разделения счета
Приветственное сообщениеПолучение пользовательского ввода13Векторы: продвинутый уровень
Срезы и индексация векторовЛогическая индексацияАрифметика и ресайклинг векторовОператор %in%2Переменные и типы данных
Числовой тип данныхЦелочисленный тип данныхСимвольный тип данныхЛогический тип данныхПроверка типов данныхПравила именованияПропущенные значения: NAИтоги — создание переменных5Принятие решений
Оператор ifКонструкция if - elseПовторение: Простой калькуляторВложенные конструкции if - else8Циклы
Цикл ForЦикл WhileBreakNext (Continue)Повторение: ФакториалГенерация последовательностей (seq, :)Вложенные циклыПовторение: Динамический ввод3Операторы. Часть 1
Арифметические операторыЦелочисленное деление и остаток от деленияОператоры присваиванияПовторение: простая математикаОператоры сравнения6Основы ввода-вывода
Вывод через printКоманда cat для выводаВывод с переменнымиЧтение ввода через readline()Основы преобразования типовПовторение — Калькулятор возрастаПовторение — Истина или ложь9Функции
Объявление функцииАргументы функцииВозвращаемые значенияПовторение — функция SigmaПовторение — функция валидацииЗначения параметров по умолчанию12Итерация по последовательностям
Итерация по элементам вектораИспользование seq_along()Итерация по символам (strsplit)Функции для работы со строками