繁体   English   中英

哪些Java语法元素不会直接转换为等效的Ruby语法?

[英]What Java syntax elements would not directly translate to an equivalent Ruby syntax?

几天前,我问了一个问题,关于用等效的Ruby代码表示public static finalprivate static final字段。 我想到了Java中的其他语法元素可能不会直接转换为Ruby。 我想到了泛型注释 如果您尝试将某些Java代码移植到Ruby,还有什么其他方法不能很好地转换?

我对此并不乐观,但我认为双括号初始化不会。

例如

HashSet<String> codes = new HashSet<String>() {{
    add("XZ13s");
    add("AB21/X");
    add("YYLEX");
    add("AR2D");
}};

用Ruby编程本身与Java完全不同(可以想到的功能编程)。 因此,这不仅涉及学习语法差异,还主要涉及学习不同的编码方式。

如果像在Java中那样使用Ruby进行编程,则(可能)将导致非常糟糕的代码(即使您是专业的Java程序员)。

出于所有应有的尊重,应将Ruby视为不同于Java的语言。 人们不应该试图在Java和Ruby之间找到一对一的映射。 我曾经在一家大型数据库公司工作,在2000年代Java是“酷”的语言时,该公司迁移了许多plsql开发人员来编写基于Java的应用程序。 结果是直到他们维护一个类具有字段变量(如m_person_id),参数(如p_person_id)和局部变量(如l_person_id)的代码为止。

问题是这种“映射”,而前缀p_(对于参数),l_(对于局部变量)或m_(字段变量)在plsql中几乎不支持IDE或不支持IDE的情况下都能很好地工作,而在Java中使用像Eclipse这样的IDE却毫无意义他们可以在其中突出显示不同颜色的内容。

该示例可能很糟糕,但是尝试从Java迁移到Ruby没关系,但是通过比较Java中的相应功能来学习Ruby并不是:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM