2013-02-25 2 views
1

의 semi coloumn으로 함수 본문의 각 행을 분리하는 방법은 "getHbasedPortfolio"함수를 가지고 있습니다. 다음 함수 본문은 다음R에있는

본체 ("getHbasedPortfolio") I 쉼표 각 라인을 분리해야

{ 
    className <- name 
    pf = list(name = name, 
      get = function(x) pf[[x]], 
      set = function(x,value) pf[[x]] <- value 
      ) 

    pf$getCash = function(date) { 

    data <-data.frame(name=name,value="null") 
    return(data) 
    } 
    pf$setCash = function(cash, date) { 

    a <- insertCashTable(pf$name, cash, date) 
    return("success") 

    } 

    pf <- list2env(pf) 
    class(pf) <- name 
    return(pf) 
} 

. 그래서 나는 그것을하기위한 코드를 작성했습니다. 다음과 같이 내가 사용하는 코드는 다음과 같습니다

body <-""; 
for(i in 1:length(as.character(body("getHbasedPortfolio")))){ 
     body <- paste(body,as.character(body("getHbasedPortfolio"))[i]) 
     body <- paste(body,";") 
    } 

를 지금은 다음과 같은 출력을 얻고있다.

본체 [1] "{; 클래스 이름 < - 이름, PF = 목록 (NAME = 이름 얻을 = 함수 (X) PF [X]로 설정 = 함수 (X, 값)의 PF [ \ n return (data) \ n}; pf (x)]); pf $ getCash = function (date) {\ n 데이터 < - pf < - list2env (pf); 클래스 (pf); (pf) $ setCash = function (현금, 날짜) \ \ < - insertCashTable (pf $ 이름, 현금, 날짜) \ n 반환 \ < - 이름; return (pf); "

문제는 pf $ setCash 및 pf $ getCash의 명령문이 쉼표로 구분되지 않는다는 것입니다. 이 문제를 어떻게 극복 할 수 있습니까?

+3

아마도 내 부분에는 상상력이 부족한 것 같지만,이 부분에 대해서는 어떤 이유라도 생각할 수 없습니다. 당신의 목표는 무엇입니까? – Ista

+0

이 함수 정의를 데이터베이스에 저장 한 다음 db의 해당 함수 정의를 프로젝트의 다른 부분에서 사용하기 위해 검색합니다. 그렇게하기 위해서는 신체의 각 줄을로 구분해야합니다. –

+0

왜 패키지를 사용하지 않습니까? 당신은 [https://github.com/hadley/devtools/wiki/Computing-on-the-language](https://github.com/hadley/devtools/wiki/Computing-on-the-language]를 볼 수도 있습니다.) 그러나 나는 당신이 당신과 같은 질문을하는 경우 이것이 당신의 머리 위로 갈 것이라고 생각합니다. – mnel

답변

2

이 같은 것을 사용할 수 있습니다

dat <- data.frame(capture.output(getHbasedPortfolio)) 

이것은 data.frame의 선으로 함수 라인을 절약 할 수 있습니다. 그런 다음 데이터베이스에 저장할 수 있습니다.

당신이 라인으로 라인을 작성하는 날엔를 사용할 수 있습니다

편집 할 수 있습니다.

paste(data.frame(capture.output(getHbasedPortfolio))[,1], 
     collapse=',') ## I would use another separator here becuase comma is confusing 
+0

이 기능은 나에게 도움이되지 않습니다. 실제로 함수 내에서 함수의 각 줄을 구분하는 코드가 필요합니다. –

+0

@DinoopNair rellay? data.frame에서 라인 단위로 함수를 사용할 수 있습니다. 각 행은 선입니다! 그래서, 당신은 당신이 원하는 것을 그것을 할 수 있습니다. 내 편집을 참조하십시오. – agstudy