[英]What Java syntax elements would not directly translate to an equivalent Ruby syntax?
几天前,我问了一个问题,关于用等效的Ruby代码表示public static final
和private 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.