幾天前我問了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. 將Linq查詢表達式轉換爲方法語法等效
- 6. sed等效語法爲pcre
- 7. java等價於ruby的|| ||語法
- 8. 什麼是一些JavaScript表達式的等效GWT/Java語法?
- 9. 這是什麼Ruby語法?
- 10. 這是什麼Ruby語法?
- 11. 爲什麼這個簡單的LINQ查詢語法語句不能轉換爲方法語法?
- 12. 將語法轉換爲LL1語法
- 13. 什麼是「不等於」的F#語法?
- 14. 爲什麼這是無效的語法?
- 15. 將MySQL查詢轉換爲Knex QueryBuilder語法等效項?
- 16. 爲什麼我一直得到「無效的語法」錯誤?
- 17. Java會話 - 無法轉換爲無效
- 18. PostgreSQL的等效語法FORALL
- 19. SyntaxError:語法無效爲什麼?
- 20. 爲什麼這個語法無效?
- 21. 爲什麼我收到:無效語法
- 22. 爲什麼這個語法有效?
- 23. Java語法等價於Python語法?
- 24. JsViews:直接鏈接表單元素的內嵌模板語法
- 25. Python的硒元素WebElement - 無效語法
- 26. 爲什麼Objective-C語法塊的語法與方法語法如此不同?
- 27. 爲什麼直接評論編碼字符串不轉換爲阿拉伯語?
- 28. 爲什麼我會收到ELIF無效的語法?
- 29. 轉換語法爲PHP(ImageMagick)
- 30. 爲什麼會出現語法錯誤?
你可以定義「沒有轉化以及」學習Ruby?在Ruby中,一些語法元素(例如泛型)根本沒有意義。 – 2010-03-15 19:40:24