【问题标题】:Does an (experimental) class browser exist for Ruby?Ruby 是否存在(实验性)类浏览器?
【发布时间】:2012-10-17 13:46:13
【问题描述】:

是否存在用于 Ruby 的(实验性)类浏览器?

我说的是类似于大多数 Smalltalk 实现的类浏览器/编辑器组合(即专注于 [运行时] 类/对象而不是 .rb 文件)

P.S.:看起来 pry 已经能够做很多 smalltalk 风格的类浏览器需要做的事情了? https://speakerdeck.com/u/rahult/p/pry-an-irb-alternative-on-steroids

P.S.2:Seaside Smalltalk 框架似乎有一个web browser based class browser

P.S.3:MagLev/Webtools 是我找到的最接近的工具:

P.S.4:显然http://tibleiz.net/code-browser/index.html 支持 Ruby,并且能够呈现类似于 Smalltalk 的类浏览器:

【问题讨论】:

  • 如果您将它与 ri 或 RDoc 结合使用,则可以从纯元编程的角度来完成。但我认为没有人真正投入工作为它或其他任何东西制作 Tk GUI。
  • ri/RDoc 是静态生成的,我说的是像 pry/irb 中的活动对象。 Tk GUI 会倒退,在这种情况下 Qt 可能会更好(或者可能是基于 Web 的,由本地 ruby​​ http 守护程序提供服务)
  • texasbruce> 这是我对它的理解,还是 ri/RDoc 能够从运行时生成数据?
  • 运行 RDoc 运行时和在具有相关定义的文件上运行它有什么区别?
  • @linuxios ri 要求预先生成文档。相比之下,Pry 能够在运行时提取文档,而无需预先生成。事实上,如果您在运行时更改方法的源/文档,pry 能够显示新的源/文档。

标签: ruby ide smalltalk pry maglev


【解决方案1】:

查看maglev/webtools project on githubrubymirrors gem。它已经为多个 Ruby 实现提供了一个类浏览器和工作区,并且图形调试器也可以在 MagLev 上工作(在 MRI 上不是那么多)。

【讨论】:

    【解决方案2】:

    如果你想构建一个,最简单的方法是使用MOOSE 并在一个用 PetitParser 编写的 Ruby 解析器之上使用 Glamour 构建浏览器。然后你可以使用 Pharo 作为你的 Ruby IDE。

    【讨论】:

      【解决方案3】:

      您也可以查看 Maglev Database Explorer [1, 2]。

      [1] 视频:http://www.youtube.com/watch?v=27mS1BNP7wQ

      [2] 宝石:https://github.com/matthias-springer/maglev-database-explorer-gem

      【讨论】:

        【解决方案4】:

        有。它被称为反身。 https://github.com/dolzenko/reflexive

        (不过我从来没有花时间尝试过,所以我对它的其他体验很好奇。)

        【讨论】:

        • 感谢您的建议。这是它在我的机器上浏览 Sinatra 模块时的样子:i.imgur.com/01OMy.png 它使用的技术可能很有趣,但它看起来和行为都不像 Smalltalk 风格的类浏览器。
        【解决方案5】:

        我没有使用它的经验(而且它很旧),但可能rbbr 仍然有效。

        【讨论】:

          猜你喜欢
          • 2014-05-01
          • 1970-01-01
          • 2010-12-31
          • 2022-11-25
          • 1970-01-01
          • 2016-06-30
          • 1970-01-01
          • 1970-01-01
          • 2020-09-18
          相关资源
          最近更新 更多