2013-04-30 74 views
0

我想在数据库中存储简短的代码片段(遵循标准签名),并在运行时“注入”它们。一种方法是使用eval(my_code)。有没有一些方法来使用断点等来调试注入的代码? (我正在使用卢西丁)我可以调试动态添加的Ruby方法吗?

我知道我只能登录到控制台等,但我更喜欢IDE风格的调试,如果可能的话。

+0

我不认为这是可能的。 – Linuxios 2013-04-30 23:18:25

+0

看来Linuxios是正确的 - 基于我对IntelliJ的有限测试,这似乎是不可能的。 – 2013-04-30 23:32:56

回答

0

嗯。我们来分析一下你的问题。首先,它似乎与数据库没有任何关系:只需将源代码块中的代码块存储在某处即可。它可以是文件或数据库。其次,你不想要IDE风格的“调试”,但是TDD-style。 (但现在不要专注于这个问题。)

你需要什么,是关于你的代码的断言。也就是说,您需要描述一下您的代码在输入示例时应该生成的输出。然后,您需要运行该代码并查看其功能是否符合预期。此外,如果您不确定片段的来源,run them in a sandbox (with $SAFE = 4)。如果你的代码没有达到预期的效果,那就提出一些很好的错误(TypeError,甚至更好,你自定义的例外),然后你可以例如。拯救这些例外,例如。使用一些默认的代码片段...

...但也许我实际上并没有回答你问的同一个问题。如果是这样的话,那么让我分享一个链接到这个sourcify gem,让你知道源代码,这样你就可以通过例如说插入一个断点。在代码中间需要'rdebug',甚至可以将代码转换为sexps。这是我所知道的一切。

+0

我提到数据库作为存储代码只是为了提供上下文(我没有把这个问题标记为数据库问题)。我也了解TDD等。您提供的宝石链接看起来很有前途,所以我今天会调查一下。谢谢! – 2013-05-01 11:58:52

相关问题