Menu
Coddy logo textTech

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

Часть раздела Основы путешествия по R на Coddy. Урок 47 из 78.

Функции становятся гораздо более мощными, когда они могут принимать входные данные. Аргументы (также называемые параметрами) позволяют передавать значения в функцию, делая её гибкой и пригодной для повторного использования в разных ситуациях.

Чтобы добавить аргументы, поместите их в скобки при определении function:

greet <- function(name) {
  print(paste("Hello,", name))
}

greet("Alice")
greet("Bob")

Вывод:

[1] "Hello, Alice"
[1] "Hello, Bob"

Теперь function работает с любым именем, которое вы укажете. Когда вы вызываете greet("Alice"), значение "Alice" присваивается параметру name внутри function.

Можно определить несколько аргументов, разделив их запятыми:

add <- function(a, b) {
  print(a + b)
}

add(5, 3)
add(10, 20)

Вывод:

[1] 8
[1] 30

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

challenge icon

Задание

Легко

Create a function called calculate_area, которая принимает два аргумента: length и width. Функция должна вывести площадь (length, умноженное на width) с помощью print().

Read два числа из input, преобразуйте их в numeric values и вызовите свою функцию с этими values.

Например, если входные данные — 5 и 3, результатом должен быть:

[1] 15

Если входные данные — 7 и 4, результатом должен быть:

[1] 28

Попробуйте сами

# Прочитать ввод
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Проверьте себя

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

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

Потренируйтесь самостоятельно: Онлайн-компилятор R