Частичное совпадение аргумента функции
Я знаю, что для списка частичное соответствие выполняется при индексации с использованием основных операторов$
а также[[
, Например:
ll <- list(yy=1)
ll$y
[1] 1
Но я все еще новичок в R, и для меня это ново, частичное совпадение аргументов функции:
h <- function(xx=2)xx
h(x=2)
[1] 2
Я хочу понять, как это работает. Какой механизм стоит за этим? Есть ли у этого побочные эффекты? Я хочу понять, как кто-то может проверить, был ли задан аргумент хх?
Редактировать после комментария Андри:
Внутренне R используетpmatch
алгоритм соответствия аргумента, вот пример, как это работает:
pmatch("me", c("mean", "median", "mode")) # error multiple partial matches
[1] NA
> pmatch("mo", c("mean", "median", "mode")) # mo match mode match here
[1] 3
Но почему R имеет такую особенность? Какова основная идея позадиpartial unique
соответствия?