은 가정하자 나는 jsonlite::fromJSON
의 래퍼 함수를 작성하지만 simplifyDataFrame=
에 대해 서로 다른 기본값을 사용 :충돌을 일으키지 않고 다른 기본값으로 래퍼 함수를 작성하는 방법은 무엇입니까?
read.json <- function(txt, ...) {
jsonlite::fromJSON(txt, simplifyDataFrame = FALSE, ...)
}
read.json
따라서 다른 기본 매개 변수를 jsonlite::fromJSON
의 래퍼 함수이다. 그러나 사용자가 simplifyDataFrame = TRUE
을 지정하여 기본값 인 read.json
을 대체하면 인수 이름 충돌이 발생합니다.
이름 충돌이 발생할 수없는 매개 변수의 기본값이 다른 래퍼 함수를 작성하는 가장 좋은 방법은 무엇입니까? 당신은, 및 인수의 많은 너무 많은 입력하지 않도록 할 것인지 어떻게 할 건데 그때 당신은을 사용하는 것이 좋습니다 싶다면
read.json <- function(txt, simplifyDataFrame = FALSE, ...) {
jsonlite::fromJSON(txt, simplifyDataFrame = simplifyDataFrame, ...)
}
: @hrbrmstr처럼
'simpleifyDataFrame = FALSE' (및 원하는 다른 매개 변수)를 사용하여'read.json'을 매개 변수 목록에 정의 할 수 있습니다. 'fromJSON'에는'... '앞에 다섯 개의 명명 된 매개 변수가 있습니다. 함수 정의에있는 것들을 복제 한 다음'... '을 포함하십시오. – hrbrmstr
고마워요 @hrbrmstr! 더 강력한 방법이 있습니까? 내 말은, 래핑 된 함수가 많은 매개 변수를 가지고 있고 앞으로 더 추가 할 수있는 경우 래퍼 함수가 래핑 된 함수에 새 매개 변수가 추가 될 때 래퍼 함수가 따를 필요가 없도록 더 강력한 방법이 있습니까? –
예. 'match.call'을 사용하여 함수의'...'에서 전달 된 매개 변수를 얻고이를 제외하거나 하드 코딩 한 기본값을 변경할 수 있습니다. 주의 :'formals'을 사용하여 타겟 함수의 모든 명명 된 매개 변수를 볼 수도 있습니다. – hrbrmstr