幾天前我問了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