Программирование R: возможно ли объявить возвращаемые функции или типы параметров? - PullRequest
1 голос
/ 09 ноября 2019

Можно ли объявить тип возврата или типы параметров функций в R?

Например, учитывая следующую функцию

probability_k_correct = function(k) {
    # ... calculate probability
    return (0.1 * k)
}

Я хотел бы сделать это очевиднымдля читателя k должен быть integer, numeric, complex или каким-либо другим типом и что функция возвращает, например, numeric.

Если это невозможно, существуют ли какие-либо инструменты (например, прекомпиляторы), которые добавляют эту функцию?

1 Ответ

3 голосов
/ 09 ноября 2019

https://github.com/jimhester/types или https://cran.r -project.org / web / packages / types /

Вы можете добавить аннотации типов к функциям, используя пакет ниже. Они будут напечатаны, если вы напечатаете закрытие функции, а также поддерживаются с подсказками функций в RStudio.

Аннотированные типы возврата не будут отображаться в автозаполнении функции, но вы можете распечатать закрытие функции, чтобы увидеть их.

#devtools::install_github('jimhester/types')
# or install.packages("types")
library(types)

myadd <- function( x = ? numeric, y = ? numeric) {
  (x + y) ? numeric
}
myadd()


myadd2 <- function( x = ? numeric ? integer, y = ? numeric) {
  x + y
}

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...