问题标签 [ruby-parser]
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.
ruby - Ruby中ifs和case语句形式之间的等价性
使用 ruby_parser 和 Ruby2Ruby gems,我正在编写代码来跟踪已评估的条件以及它们的结果和参数是什么。为了使这尽可能简单,我有时会稍微重写 AST。当然,只有当我确定结果的功能与原始结果完全相同时,我才能这样做。
我是否正确断言以下三个 Ruby 片段在功能上是等效的,假设三个点被一个有效的 Ruby 表达式替换?我是否忽略了任何边缘情况?
ruby - 使用 1.9 哈希语法运行 Metrical
我想在我的全新 Rails 项目中使用 Metrical,使用 Ruby 1.9 哈希语法做一些事情
我得到这个错误:
我做了一些调查,发现 ruby_parser gem 不支持 1.9 哈希语法(请参阅 github 问题) - 不知道哪个版本指的是我试图将 ruby_parser gem 更新到 2.3.1 不起作用因为 metrical 中包含的一些代码质量工具需要 ruby_parser 2.0 版本。
有没有办法解决这个问题(除了回滚到旧语法)?我也有点困惑,因为一些代码质量工具似乎已经过时了,检查RubyToolBox证实了这种印象。还是我在这里遗漏了一些基本的东西?
(这是我的 Gemfile.lock 供参考):
ruby - ruby_parser、AST 在 1.8.7 之前的版本和 ruby 中的 S-expression 的用法?
最近我正在将在 ruby 1.8.7 中使用 ParseTree 的 ror 项目转换为 ruby 1.9.3
发现 ParseTree 不能与 1.9.3 一起使用,在一堆 googlers 中搜索它,仍然坚持一些代码迁移
找到了各种替代方案,如 ruby_parser、sourcify、parse_tree_reloaded 等...
所有这些都有其局限性,例如 sourcify 无法进行动态分析解析,即。eval 的用法。
通过所有这些,我想知道 Ruby 社区中 AST/Parsing/SExp 的最佳用法,如果我不选择 AST 路径,ruby 1.9.3 中的替代方案是什么?
一些用例指针将不胜感激。
谢谢。
ruby - 为什么读取 CSV 文件时会有尾随列?
我有一个 CSV 文件,其结构如下:
使用 Ruby 的标准 CSV 库进行解析:
我不明白为什么解析似乎会导致四列,尽管文件只包含三列。这不是解析文件的正确方法吗?
java - 在java中解析vagrant文件
我需要解析用 Ruby 编写的 Vagrantfile 中定义的配置,并在我的 java 代码中的其他地方使用这些设置。尝试探索 jRubyParser 但没有遇到任何定义它使用的文档。
在本地克隆了 Vagrant 存储库,但浏览代码也无济于事,因为我之前没有使用 Ruby 的经验。Vagrant 将如何读取文件中定义的配置?任何输入?
ruby - 如何使用 ruby_parser 解析多行?
我正在尝试使用ruby _parser来解析文件中的一些多行 Ruby 代码。
假设我要解析以下代码:
当我执行以下操作时,出现错误:
因为该行不包含end
.
我正在使用File.readlines(file)
.
理想情况下,我会将文件名指定为RubyParser
,但我似乎无法弄清楚,而且文档很少。
ruby - Ruby - 解析 json 文件数组
我有一个 json 文件数组。这是单个 json 文件的示例,
如果管理员存在于“工作”中,我需要获取“名称”值。需要对数组中的其他 json 文件执行相同的操作。
帮助将不胜感激。
ruby-on-rails - 语法错误,意外 ':',期待 ')' - Rails 2.1.0
运行 rake 任务时出现语法错误:
rubocop - 为什么这个发送模式不匹配?
我写了一个自定义的 rubocop 警察,摘录是这样的:
我正在尝试以下代码的警察:
有趣的是,node.to_s
以下内容与我的模式完全匹配:
但是节点不匹配。如果我将模式更改为以下,它可以工作:
为什么我的原始匹配不起作用?
我的版本:
- 红宝石 2.6.2
- AST 2.4.0
- rubocop 0.77.0
- 解析器 2.6.4.1