2015-04-02 9 views
5

Jaka jest różnica między definiowania funkcji o nazwie myfunction jakJaki jest powód dodawania cudzysłowów wokół nazw funkcji R?

"myfunction" <- function(<arguments>){<body>} 

i

myfunction <- function(<arguments>){<body>} 

ponadto: co o komentarzach, które są zwykle umieszczone wokół takiej funkcji, tj

#myfunction{{{ 

"myfunction" <- function(<arguments>){<body>} 

#}}} 

czy są to tylko dokumentacja, czy naprawdę są konieczne (jeśli tak, to za co)?

EDIT: I zostały poproszone dla przykładu, w którym używane są komentarze typu

#myfunction{{{ 

: Na przykład tutaj https://github.com/cran/quantmod/blob/master/R/getSymbols.R

+1

wzdłuż linii @ odpowiedź BrodieG, w powszechnym tego przykładem jest [funkcje Infix] (http: //adv-r.had. co.nz/Functions.html#special-calls), np '"%>% "<- function (x, y) {...}'. – nrussell

+0

Gdzie znajdujesz funkcje zdefiniowane za pomocą '#myfun {{{' business? – BrodieG

+0

Dodano przykład dla #myfun {{{comment –

Odpowiedz

7

Wersja cytowany pozwala inaczej nielegalne nazwy funkcji:

> "my function" <- function() NULL 
> "my function"() 
NULL 

Zwróć uwagę, że większość ludzi używa zwrotnych, aby było jasne, że odnoszą się do nazwy, a nie ciągu znaków. W ten sposób można zrobić kilka naprawdę dziwnych rzeczy, jak wspomniałem w ?assign:

> a <- 1:3 
> "a[1]" <- 55 
> a[1] 
[1] 1 
> "a[1]" 
[1] "a[1]" 
> `a[1]` 
[1] 55 
+1

Możesz również użyć wstecznego do tego: \ "moja funkcja \' <- funkcja() NULL – bgoldst

+1

Zobacz [R: Cytaty] (https://stat.ethz.ch/R-manual/R-devel/library/base /html/Quotes.html). – bgoldst

+0

thx za odpowiedź. Dodałem dodatkową część pytania, tj. O komentarzach (dlatego jeszcze nie przyjąłem twojej odpowiedzi). –

Powiązane problemy