问题标签 [ruby-ripper]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1321 浏览

ruby - 我如何将 Ripper 的 AST 重新编译回 Ruby 代码?

Ripper 是 Ruby 1.9 附带的解析库。它将 Ruby 代码转换为 AST,如下所示:

是否有一个库可以将这个 AST 转换回 Ruby 代码?

ruby_parser 和 ruby​​2ruby曾经这样做,但我想使用 Ripper 作为我的解析器。(Ruby 1.9 甚至可能附带这样一个库,但我什至很难找到关于 Ripper 本身的文档)

0 投票
1 回答
118 浏览

ruby - 使用 Ripper 解析用户提交的代码是否安全?

我正在使用Ruby 1.9 Ripper 库通过构建它的 sexp 树来分析源代码的特定部分。据我所知,Ripper 只是使用词法分析器/解析器来执行此操作。

在用户提交的代码上运行 Ripper 是否安全?

0 投票
1 回答
259 浏览

ruby - 在 ruby​​ ripper 解析期间检测错误

当向 Ruby 的 ripper 库提供格式错误的输入时,有没有人想出如何检测错误?

我浏览了一下源代码,发现了#compile_error、#warning、#warn 和#yydebug,但目前还不清楚如何让这些方法中的任何一个起作用。毫无疑问,这里有一些简单的答案。

0 投票
1 回答
1644 浏览

ruby-on-rails - 解析红宝石代码

我需要帮助解决一个问题。我有一个表,其中的列包含一些 ruby​​ 代码,如下所示:self.org_premium = self.volume / 12 * 0.1492 self.billing_premium = self.subscriber_premium + self.org_premiumoremployment_level == 'P'vol_life.save. 现在我想在这些字符串中查找方法,但是某些 Rails 方法,比如saveornil?必须被忽略。我使用了 Ripper,但他的方法slice只返回 1 个参数。也许你对此有一些想法?

0 投票
1 回答
56 浏览

ruby-on-rails - 在 Rails 应用程序中使用开膛手?

我想检查文件的来源(可能是视图)是否包含逻辑,所以我想使用 Ripper.lex 但我不确定是否可以将文件传递给 .lex 并且它会读取代码 IN文件。

就像我有 source.rb 或 source.haml.erb,并将其传递给 Ripper?像 Ripper.lex(filename='source.haml.erb')

可能吗?我试过搜索它,但看不到 Ripper 的这种用法

0 投票
2 回答
322 浏览

ruby - Ruby AST 中的“send”关键字是什么意思?

我正在尝试学习 Ruby 词法分析器和解析器(whitequark 解析器),以了解更多关于从 Ruby 脚本进一步生成机器代码的过程。

在解析以下 Ruby 代码字符串时。

它产生以下 S 表达式表示法。

谁能解释一下生成的 S 表达式符号中:send关键字的定义?

0 投票
1 回答
37 浏览

ruby - 从备份恢复系统后 Ruby ripper.bundle 库版本不兼容错误

在不得不从备份中恢复我的整个系统之后,我的 Ruby gems 遇到了问题。特别是,我收到与ripper.bundle.

试过:

  1. 通过自制软件重新安装 rbenv
  2. 通过 rbenv 重新安装 Ruby
  3. 重新安装 OpenSSL

回溯结束: