2012-11-01 11 views
7

Ho un metodo:Scala - Pad un array a una certa dimensione

def loadRom(filename: String) : Array[Int] = { 
    val is = new FileInputStream(filename) 
    Stream.continually(is.read).takeWhile(-1 !=).toArray 
} 

Si restituisce un array di 0x8000 (posso sempre garantire che). Voglio caricarlo in una serie di dimensioni 0x200000. C'è un modo elegante per farlo? Per quanto riguarda il riempimento a 0x200000?

Modifica: Whoops. Ho appena notato che il metodo padTo fa quello che voglio. Vicino?

+1

È possibile rispondere alle proprie domande e contrassegnarlo come corretto. – pedrofurla

+0

Lo feci alcuni anni fa e fui fiammeggiato. Non da allora –

+4

Bene, allora le cose sono cambiate: http://meta.stackexchange.com/questions/12513/should-i-not-answer-my-own-questions –

risposta

4

Per completezza, c'è SeqLike.padTo (gli array implicitamente si estendono SeqLike). Supponendo che si desidera eseguire il rilievo con zero byte, è sufficiente aggiungere .padTo(0x200000, 0) all'espressione di risultato e si è pronti per andare.

Problemi correlati