0

我想在数据库中存储简短的代码片段(遵循标准签名)并在运行时“注入”它们。一种方法是使用eval(my_code). 有没有办法使用断点等调试注入的代码?(我正在使用 Rubymine)

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

4

1 回答 1

0

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

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

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

于 2013-04-30T23:45:52.043 回答