当前位置: 首页 > 软件库 > 开发工具 > 编译器 >

RubyFlux

Ruby代码转Java的工具
授权协议 未知
开发语言 Java Ruby
所属分类 开发工具、 编译器
软件类型 开源软件
地区 不详
投 递 者 薛宇
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

RubyFlux 是一个编译器,用来将 Ruby 代码转成对应的 Java 代码,并可在 JVM 中运行,而无需其他运行环境的要求。

每个 Ruby 类生成一个对应的 Java 文件。

使用示例:

# The file we want to compile

$ cat fib.rb
def fib(a)
  if a < 2
    a
  else
    fib(a - 1) + fib(a - 2)
  end
end

puts fib(40)

# First need to build the compiler's jar

$ mvn package
<maven noise>

# Provide the target file to 'rake run'.
#
# The Ruby sources are translated to .java and all support code is copied out
# of RubyFlux for the compilation step. That source is then compiled and run.
# to compile

$ rake run[fib.rb]
jruby -I target:src/main/ruby src/main/ruby/ruby_flux.rb fib.rb
javac fib.java
java fib
102334155
 相关资料
  • 以上是代码的实现方式,也可以用第三方工具包实现,如果只是临时处理一下,可以使用本站的在线工具,xml和json互转工具:https://www.xnip.cn/tools/x2js/

  • 问题内容: 我在一个项目中,以前的程序员到处都在复制粘贴代码。这些代码实际上是相同的(或非常相似),可以将它们重构为一个。 我花了无数小时来手动重构这些代码,但我认为必须有更好的方法。有些是非常平凡的静态方法,可以将它们移到祖先类中(但以前的初级程序员都将其复制粘贴到整个类中)。 是否有代码分析工具可以检测到这一点并提供报告/建议?如果可能的话,我更喜欢免费/开源工具。 问题答案: 我使用以下工具

  • 问题内容: 是否有对Java混淆代码进行反混淆的工具? 这些代码是从编译的类中提取的,但是它们被混淆并且不可读。 问题答案: 您是否尝试过使用Java Deobfuscator(又名JDO) (一种智能反编译器)来减少代码的晦涩感? 目前,JDO执行以下操作: 将混淆的方法,变量,常量和类名重命名为唯一的,并更能指示其类型 在整个源代码树(测试版)中传播更改 具有易于使用的GUI 允许您指定字段,

  • 问题内容: 我有一个用Scala编写的应用程序,我的一些团队成员希望使用Java版本。这是一个演示应用程序,可以使用用Scala编写的另一个API,并且他们希望该应用程序的Java版本能够使用Java中的API。但是,该应用程序有些大,我不想用Java手动重排代码(他们也不想学习Scala)。是否有任何工具可以从Scala代码自动生成(可读)Java代码? 问题答案: 他们希望应用程序的Java版

  • 问题内容: 我知道有一些工具可以验证您的Python代码是否符合PEP8,例如,既有在线服务又有python模块。 但是,我找不到可以 将 我的Python文件转换为自包含的PEP8有效Python文件的服务或模块。有人知道是否有吗? 我认为这是可行的,因为PEP8完全是关于代码的外观,对吧? 问题答案: 不幸的是,“ pep8风暴”(整个项目)有几个负面影响: 很多合并冲突 打破git的责备 使

  • 我当前在Java中的实现如下所示: 它不计算期望值。我做错了什么?

  • 我想在将源代码传递给编译器之前,在编译时转换java源代码。换句话说,我想创建一个能够转换的预处理器 转换为任何其他代码,如: null 我很乐意为这两种方法找到一个java代码预处理的简单示例。 有没有人认为有什么聪明的方法来进行代码转换,而不是用多个ivy模块完全改变现有的大型代码库?注释似乎是最好的方法,但我不明白该怎么做。

  • 据我所知,我在客户机上设置的RMI代码库将传递给服务器。然后,服务器使用此代码库定位不在服务器类路径中的类。 只要所有必需的类在服务器类路径中可用,远程方法调用就可以正常工作。然后,我尝试从服务器类路径中删除一个必需的类,并在启动RMI客户端时在代码库属性中为必需的类指定新位置。不幸的是,这将给我一个ClassNotFoundExc0019:java.lang.ClassNotFoundExc00