Uwe Ligges napisał artykuł "R Help Desk" na ten sam temat w R News (2006, 6(4):43-45).
Po zidentyfikowaniu rzeczywistej używanej funkcji C użyj narzędzi wyszukiwania systemu plików do wyszukania nazwy funkcji w odpowiednim folderze źródłowym; w tym przypadku ./src/main/
, np. w systemie Linux:
$ grep -r -H "do_matchcall" ./src/main/
./src/main/.svn/text-base/names.c.svn-base:{"match.call", do_matchcall, 0, 11, 3, {PP_FUNCALL, PREC_FN, 0}},
./src/main/.svn/text-base/unique.c.svn-base:SEXP attribute_hidden do_matchcall(SEXP call, SEXP op, SEXP args, SEXP env)
./src/main/unique.c:SEXP attribute_hidden do_matchcall(SEXP call, SEXP op, SEXP args, SEXP env)
./src/main/names.c:{"match.call", do_matchcall, 0, 11, 3, {PP_FUNCALL, PREC_FN, 0}},
wskazująca, że w tym przypadku należy szukać unique.c
. Zgodnie z moją wiedzą, nie ma możliwości (oprócz wywoływania wywołania systemowego do terminala) zidentyfikowania z poziomu R, którego plik źródłowy zawiera kod C dla danej funkcji w R - cóż, nie bez przepisywania grep
lub find
lub podobny przy użyciu kodu R :-)
+1 z powodów, dla których porzuciłem system Windows. '../ R-2.15.2/src> grep do_matchcall */*' zwraca 'main/unique.c' (między innymi). –