几天前我问了a question关于在等效的Ruby代码中代表public static final
和private static final
字段。它让我想到了Java中的其他语法元素可能不会直接转化为Ruby。 泛型和注释想到。如果您尝试将某些Java代码移植到Ruby,那么其他任何不能很好地转换的东西?什么Java语法元素不会直接转换为等效的Ruby语法?
回答
我对这一个不积极,但我认为双大括号初始化不会。
例如
HashSet<String> codes = new HashSet<String>() {{
add("XZ13s");
add("AB21/X");
add("YYLEX");
add("AR2D");
}};
在Java中这不被认为是好的做法。 – helpermethod 2010-03-15 20:18:29
没人说,好的java练习。只是那些翻译不好的东西。我主要在测试代码中使用它。 – zellio 2010-03-15 20:24:11
你可以在ruby中做code = [“XZ123s”,“AB21/X”,“YYLEX”,“AR2D”]。 – 2010-03-15 20:25:22
在Ruby中编程本身与Java有很大不同(函数式编程让人头脑发热)。所以它不仅是学习语法差异,主要是学习不同的代码方式。如果你像在Java中一样编程Ruby,它将(可能)导致非常糟糕的代码(即使你是一个专业的Java程序员)。
充分尊重Ruby应该被视为与Java不同的语言。人们不应该试图找到Java和Ruby之间的一对一映射。我曾经为一家大型数据库公司工作过,当时Java是“酷”语言,他曾在2000年代迁移了许多plsql开发人员编写基于Java的应用程序。结果是直到日期他们维护代码,其中类有像m_person_id字段变量,像p_person_id这样的参数和像l_person_id这样的局部变量。
问题是这个“映射”,而前缀p_(用于参数),l_(用于局部变量)或m_(场变量)在plsql中很好地运行,很少或没有IDE支持,它们在Java中没有意义使用Eclipse等IDE可以突出不同颜色的东西。
的例子可能是坏的,但试图从红宝石从Java移动是好的,但通过比较其相应的Java功能不:)
- 1. Jsoup div [class =]语法有效,而div.class语法不会 - 为什么?
- 2. 获取Ruby语法直接
- 3. C#中的等效语法是什么?
- 4. 等效的JavaScript/Ruby的语法的jQuery
- 5. sed等效语法为pcre
- 6. java等价于ruby的|| ||语法
- 7. 为什么这个简单的LINQ查询语法语句不能转换为方法语法?
- 8. 这是什么Ruby语法?
- 9. 什么是“不等于”的F#语法?
- 10. 为什么这是无效的语法?
- 11. 将MySQL查询转换为Knex QueryBuilder语法等效项?
- 12. 为什么我一直得到“无效的语法”错误?
- 13. Java会话 - 无法转换为无效
- 14. PostgreSQL的等效语法FORALL
- 15. Java语法等价于Python语法?
- 16. 为什么这个语法有效?
- 17. 为什么我收到:无效语法
- 18. Python的硒元素WebElement - 无效语法
- 19. 为什么我会收到ELIF无效的语法?
- 20. 英特尔语法是[eax + ebx],什么是AT&T语法等效?
- 21. Razor语法PHP等效
- 22. 等效WPF绑定语法
- 23. c语言中的语法是什么语法作为参数
- 24. 将路径转换为* c_char最直接的方法是什么?
- 25. linq拼图...等效的语法...不等效的结果!
- 26. 从Linq查询语法转换为方法语法
- 27. 如何将查询语法转换为方法语法
- 28. 将查询语法转换为扩展方法语法
- 29. 在AS400 DB2 SQL语法中,Oracle的to_char等效于什么?
- 30. Spark中此MVC视图代码的等效语法是什么?
你可以定义“没有转化以及”学习Ruby?在Ruby中,一些语法元素(例如泛型)根本没有意义。 – 2010-03-15 19:40:24