Menu
Coddy logo textTech

Аргументы функции

Часть раздела Основы путешествия по 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

При вызове функции с несколькими аргументами значения сопоставляются с параметрами по порядку. Первое значение передается первому параметру, второе значение — второму параметру и так далее.

challenge icon

Задание

Легко

Создайте функцию с именем 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)


# Вызовите вашу функцию с входными значениями
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы