2012-03-11 8 views
15

Niedawno widziałem funkcję w R, gdzie ktoś użył . jako argumentu. Nie mogę znaleźć żadnej dokumentacji na ten temat (poza używaniem ellipsis lub "kropka-kropka"). Czy ktoś może wskazać mi kierunek dokumentacji lub podać przykład użycia?Użycie kropki/okresu w funkcjach R

hello.world <- function(.) "Hello World" 
# function(.) is what I'm asking about. 
+1

to również pojawiło się na krzyżu, a także kilka innych ciekawostek: http://stats.stackexchange.com/questions/10712/what-is-to-meaning-of-the-dot-in-r/10739 # 10739 – Chase

Odpowiedz

13

Dot to ważny znak w nazwach symboli, tak jak każdy list, tak . nie jest inaczej niż powiedzmy a - to nie ma specjalnego znaczenia w tym kontekście. Można napisać takie rzeczy jak:

> . <- 10 
> . + . 
[1] 20 

To może wyglądać dziwnie, ale jest ważny w R. powyższe zastosowanie function(.) jest powiedzmy nietypowe, ale składniowo poprawny. Ponieważ autor nie odwoływał się do . w ciele funkcji, nigdy nie będziemy wiedzieć, czy miał na myśli ..., czy po prostu go użył, ponieważ mógł.

+0

Ma to nieco szczególne znaczenie na początku identyfikatorów: http://cran.r-project.org/doc/manuals/R-lang.html#Identifiers – huon

+0

Niezupełnie. Istnieje kilka konwencji w R, które używają kropek (ukrywanie symboli, wysyłanie S3, ...), ale '.', jak wspomniano powyżej, nie ma specjalnego znaczenia. –

+0

ma specjalne znaczenie dla 'proto': [" formalne listy argumentów metod muszą zawsze mieć pierwszy argument kropki (tj.), Który oznacza obiekt, na którym działa metoda. Kropka odnosi się do bieżącego obiektu w w ten sam sposób, w jaki kropka odnosi się do bieżącego katalogu w UNIX "] (http://cran.r-project.org/web/packages/proto/vignettes/proto.pdf) – baptiste

Powiązane problemy