回答
也許你的意思是這樣的對象
object MyListMaker {
def test[A](a0: A, n: Int): List[A] = (1 to n).map(_ => a0).toList
}
scala> MyListMaker.test("Fish",7)
res0: List[java.lang.String] = List(Fish, Fish, Fish, Fish, Fish, Fish, Fish)
只有一個副本的存在;如果您想要創建一個通用的方法,請將類型參數添加到方法中(而不是對象)。
特徵或對象不能有構造函數參數,並且對象不能有類型參數。
一個對象實際上是一個類的單例實例。因此你不能有一個通用的定義,因爲它只有一個名字。
你最好的選擇是在一個對象內定義一個返回你想要的列表的方法。
那麼生成某種類型的List的最佳方法是什麼? – matiit 2010-06-27 08:29:38
性狀當然*可能*有類型參數!對象可能不是。 – 2010-06-27 14:31:16
澄清:特徵可以具有類型參數,但不包含構造函數參數。回答編輯 – 2010-06-27 15:43:06
- 1. 斯卡拉對象
- 2. 斯卡拉保護對象
- 3. 斯卡拉 - 可以'這個'在斯卡拉爲空對象?
- 4. 對於斯卡拉
- 5. 斯卡拉+卡斯巴對象映射的良好做法
- 6. 斯卡拉空課堂,對象,特質
- 7. 斯卡拉繼承和對象創建
- 8. 斯卡拉:同伴對象宗旨
- 9. 斯卡拉伴侶對象模板(Iterator.tabulate)
- 10. 斯卡拉:一個單獨的對象
- 11. 如何從org.elasticsearch.search.suggest.Suggest對象斯卡拉
- 12. 斯卡拉包對象 - VAL聲明
- 13. 困惑斯卡拉Singleton對象
- 14. 斯卡拉宏觀修改對象
- 15. 對象光滑不包斯卡拉的
- 16. 斯卡拉對象作爲字段
- 17. 轉換JSON來斯卡拉對象
- 18. 斯卡拉對象與Java Class.newInstance鬥爭()
- 19. 玩斯卡拉返回兩個對象
- 20. 斯卡拉:case類轉換爲對象
- 21. 斯卡拉域對象建模
- 22. 斯卡拉 - 新的vs對象擴展
- 23. 對象的斯卡拉類型參數
- 24. 斯卡拉 - 域對象建模
- 25. 抽象類與斯卡拉
- 26. 斯卡拉抽象類
- 27. 斯卡拉對變換Seq
- 28. 提高對JVM斯卡拉
- 29. 轉換一覽[名單[對象]列出[對象]在斯卡拉
- 30. 斯卡拉在斯卡拉類
你應該使用'apply'而不是'test'的方法,這會給所要求的語法提供更接近的語法。 – 2010-06-28 01:19:17
@丹尼爾 - 也許是吧。我很難弄清楚被問到的是什麼,並且使用'apply'在理解它的工作原理時增加了額外的皺紋。但是,是的,用'def apply ...',它只是'MyListMaker(「Fish」,7)'。我更擔心在沒有任何「A」的情況下列出「A」列表。 – 2010-06-28 15:38:15