假设我在 IRB 工作,试验并逐渐构建一些新的类和方法。或者,假设我编写的常规脚本(在 IRB 之外)逐步构建一些类/方法。
现在我想保存我构建的内容。
有没有一种简单的方法可以自动内省(introspection)运行时的类/方法并将它们变成普通的类定义和方法定义?
最佳答案
尝试 pry ,你永远不会回到 IRB。您可以将 pry 用作调试器,它工作得很好并且具有一些很棒的功能,例如:
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 .
关于Ruby:在运行时保存类/方法定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7706161/