Я хочу автоматически установить значение аргумента в функции на основе значения другого аргумента.
Более конкретно, я хочу установить значение часового пояса (offset
) для автоматической настройки значений времени, учитываяregion
.
Однако моя реализация, похоже, не работает (поскольку смещение никогда не применяется, если я не передам его в качестве аргумента функции).
ЧастьФункция (предполагается) устанавливает значение offset
на основе значения region
, а также подключается к соответствующему серверу Elasticsearch.
Вот что у меня есть:
if (region == "EU") {
offset = "+00:00:00"
# Code to connect to EU ElasticSearch server
} else if (region == "US") {
offset = "-06:00:00"
# Code to connect to US ElasticSearch server
} else {
paste0(stop("Incorrect region supplied: ", region))
}
Функция:
time_function <- function(region, retailer, start_date, end_date, offset = "+00:00:00"){
# Function body
}
(Обратите внимание, что я установил значение по умолчанию offset
в "+00"
, в противном случае будет выдано сообщение об ошибке, что аргумент отсутствует.)
Очевидно, что я где-то ошибся, потому что смещение никогда не применяется, если я явно не укажу в списке аргументов.
Это то, что я хочу сделать:
Если region == "US"
, то установить offset
до "-06:00:00"
, иначе если region == "EU"
, тоустановите offset
на "+00:00:00"
Иначе Error message: "supply valid region"
Короче, я хочу установить условное значение аргумента.
Как мне этого добиться?