我需要將一個列表封裝在Scala中的單獨對象中,充當我的集合的包裝類。我需要這個來實現一些方法來處理列表(詳細地說,我需要在列表中找到與列表中的其他對象關聯的對象)。在Scala包裝列表中迭代
所以首先我的所有代碼:
object Axons {
var axonList=List[Axon]();
var pos=0;
def init(al: List[Axon]) {
axonList= al;
}
def reverse(): List[Axon] = axonList.reverse
def get(count: Int) = axonList(count)
def getList(): List[Axon] = axonList
def length(): Int = axonList.length
}
現在迭代偏偏喜歡:
for (axon <- axons.getList)
這看起來有點醜給我,但我無法弄清楚如何實現一個Iterator是可多次使用以迭代集合。
另一種方法,只使用普通列表,是定義一個函數,它使用fold來縮小列表,只是容納我想要擁有的對象。
你認爲更常見的方法是什麼? 過濾到一個單獨的列表只是保存需要的對象或使用迭代器。 在我看來,從軟件設計的角度來看,將我的Axons集合封裝在一個單獨的對象中將會更加乾淨。
你認爲最適合這個問題的是什麼?
(如果你問自己,我在做什麼,什麼軸突是,它的一個神經網絡http://en.wikipedia.org/wiki/Neural_network和軸突收集的部分包裹的來源和目的地神經元之間的連接)
感謝和親切問候
============================================= ====從菲利克斯
解決方案
這是它非常感謝你。 – evildead 2011-05-22 14:47:12
不客氣:) – Felix 2011-05-23 18:04:55