Объявление функции
Часть раздела Основы путешествия по R на Coddy — урок 46 из 78.
До сих пор вы писали код, который выполняется сверху вниз. Но что, если вам нужно выполнить одну и ту же задачу несколько раз в разных местах? Вместо того чтобы копировать и вставлять код, вы можете создать function — многоразовый блок кода, который можно вызывать всякий раз, когда он вам понадобится.
В R вы объявляете функцию, используя ключевое слово function:
greet <- function() {
print("Hello!")
}
greet()Вывод:
[1] "Hello!"Давайте разберем это. Мы присваиваем функцию имени greet, используя оператор присваивания.
Скобки () после function — это место, куда помещаются параметры (мы разберем их в следующем разделе). Фигурные скобки {} содержат код, который выполняется при вызове функции.
Чтобы использовать функцию, просто напишите её имя, за которым следуют круглые скобки: greet(). Это называется вызовом или обращением к функции.
Вы можете вызывать её столько раз, сколько захотите:
greet()
greet()
greet()Результат:
[1] "Hello!"
[1] "Hello!"
[1] "Hello!"Функции помогают организовать код, избежать повторений и сделать программы более понятными для чтения и поддержки.
Задание
ЛегкоСоздайте функцию с именем say_goodbye, которая не принимает аргументов. При вызове функция должна выводить сообщение "Goodbye, see you soon!" с помощью print().
После объявления функции вызовите ее дважды, чтобы вывести сообщение два раза.
Результат должен быть следующим:
[1] "Goodbye, see you soon!"
[1] "Goodbye, see you soon!"Шпаргалка
Функция — это блок кода многократного использования, который можно вызывать по мере необходимости.
Чтобы объявить функцию в R, используйте ключевое слово function и присвойте ей имя:
greet <- function() {
print("Hello!")
}Круглые скобки () после function предназначены для параметров. Фигурные скобки {} содержат код, который выполняется при вызове функции.
Чтобы вызвать функцию, напишите её имя, а затем круглые скобки:
greet()Вы можете вызывать функцию несколько раз:
greet()
greet()
greet()Попробуйте сами
# TODO: Напишите свой код ниже
# 1. Создайте функцию с именем say_goodbye, которая выводит "Goodbye, see you soon!"
# 2. Вызовите функцию дваждыВ этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
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)Функции для работы со строками