2011-10-09 2 views
3

그래서 IRB에서 실험 중이며 점진적으로 새로운 클래스와 메소드를 작성한다고 가정 해 봅시다. 또는 내가 작성한 정규 스크립트 (IRB 외부)가 점진적으로 몇 가지 클래스/메소드를 빌드한다고 가정 해 보겠습니다.Ruby : 런타임에 클래스/메소드 정의를 저장하십시오.

이제는 내가 만든 것을 저장하고 싶습니다.

런타임의 클래스/메소드를 자동으로 검사하여 일반 클래스 정의 및 메소드 정의로 바꾸는 쉬운 방법이 있습니까?

+0

나는이 작업을 수행 할 수있는 방법을 모른다. 그러나 솔직히 말해서 그것은 정말로 재미 있고, 가능해야합니다. 하지만 IRB로 개발할 때는 사용하지 않을 것입니다. 나는 "지능형"및 "학습"코드를 만드는 것을 정말로 좋아할 것입니다. – Koraktor

답변

1

pry을 시도하면 IRB에 다시 오지 않을 것입니다.

1.9.2 (main):0 > show-method Array#group_by 

From: enum.c in Ruby Core (C Method): 
Number of lines: 13 

static VALUE 
enum_group_by(VALUE obj) 
{ 
    VALUE hash; 

    RETURN_ENUMERATOR(obj, 0, 0); 

    hash = rb_hash_new(); 
    rb_block_call(obj, id_each, 0, 0, group_by_i, hash); 
    OBJ_INFECT(hash, obj); 

    return hash; 
} 

되어 너무 edit-method 명령이 있습니다 : 당신은이 같은 훌륭한 기능을 아주 잘 작동하고 있고, 디버거로 놀리려는를 사용할 수 있습니다. 당신이 할 수있는 일을 상상해보십시오.

엄격한 IRB 관련 솔루션을 원한다면 내 마음에 오는 유일한 것은 sketches입니다.

1

루비 1.8을 사용하는 경우 ruby2ruby을 사용할 수 있습니다.

그렇지 않으면 sourcify이 도움이됩니다. 그래도 메소드에서만 작동하는 것 같습니다.

관련 문제