R, индивидуальный - функция аргумента, которая приводит к собственной онлайн-справке - PullRequest
2 голосов
/ 13 января 2011

У меня есть внутренняя вики, и я создал функцию w (аргумент), которая напрямую открывает соответствующую страницу в моей вики с помощью browseURL (url, browser).Однако вместо w (аргумент) я бы хотел заменить его на #argument, аналогично аргументу?Кто-нибудь знает, возможно ли такое определение функции с помощью короткой клавиши в R

Большое спасибо за помощь

BR Martin

Ответы [ 4 ]

4 голосов
/ 13 января 2011

Нет.То, что вы ищете, это определить новый унарный оператор в R, а это невозможно.(И # - это символ комментария в R, поэтому он уже используется в любом случае, так что это не сработает.)

Эта запись Брайана Рипли, в ответ на аналогично мотивированный вопрос, имеет немного больше объяснений (не очень)

1 голос
/ 13 января 2011

Вы можете изменить то, что делает? Foo, переназначив его:

> assign("?",function(x){cat("HALP!\n")})
> ?foo
HALP!

Очевидно, что вы перешли бы к справочной системе по умолчанию, если аргумент не тот, который вас интересует, нодовольно некрасиво

1 голос
/ 13 января 2011

'#' запускает комментарий в R, так что он никогда не будет передан парсеру.Вам придется изменить ядро ​​и перекомпилировать R, если вы действительно хотите, чтобы #foo делал что-то, кроме ничего.

0 голосов
/ 13 января 2011

Вы можете определить бинарный оператор, а затем передать что-либо первому аргументу, например,

"%w%" <- function(x, y) w(y)
1%w%argument

Это 4 ключа, а не 1, но это примерно столько, сколько вы можете получить без серьезной переделкиR.

...