2012-02-10 2 views
6

내 패키지에 이진 연산자 함수를 추가하려고하지만 패키지가로드되지 않습니다. 예를 들어,이 함수를 정의하고 'wo.R'패키지 내에 이항 연산자 함수를 생성하는 중

`%wo%` <- function(x, y) { 
    x[!x %in% y] 
} 

라는 이름의 파일로 저장하고 난 R CMD check myPackage를 실행할 때 'wo.Rd'가

\name{\%wo\%} 
\alias{\%wo\%} 
\title{Without} 
\description{Elements in one vector without matching elements in a second vector.} 
\usage{x \%wo\% y} 
\arguments{ 
    \item{x}{A vector.} 
    \item{y}{A vector.} 
} 
\value{A vector.} 
\author{me, based on example in the \code{\link{match}} function documentation.} 
\examples{ 
(1:10) \%wo\% c(3,7,12) 
} 

는이 제공하는 문서 파일을 생성 문서 예를 확인할 때 오류 : Error: could not find function "%wo%" Execution halted. 예제를 제거하고 패키지를 성공적으로 설치할 수 있지만 % wo % 함수가 패키지와 함께로드되지 않습니다. 나는 R 세션에서 'wo.R'파일을 소스로 사용할 수있다. 나는 또한 함수를 wo <- function(x, y) x[!x %in% y]으로 정의 할 수있다. '연산자'와 같은 다른 패키지의 소스 코드를 훑어 보았습니다. 소스와 문서 파일이 일관성이있는 것처럼 보이지만 분명히 뭔가를 간과하고 있습니다.

+1

당신이 기능을 수출하고 있습니까? 그렇다면 어떻게? 정규 표현식을 사용하여 내보내는 경우 아마도 업데이트가 필요하거나 단순히이 특정 함수를 내 보내야합니다. – Andrie

+0

@ Andrie- 아하! 그게 문제 였어. 방금 NAMESPACE 파일에 미리 정의 된'exportPattern ("^ [[alpha :]] +")'가 있습니다. 'export ("% wo %")가 트릭을 추가했다. 감사! – pistachionut

답변

11

NAMESPACE에서 함수를 내 보내야합니다.

은 문서 파일에 export 문을 추가

export("%wo%") 
관련 문제