|
|||
Forrige < |
Innhold ^
|
Neste >
|
modulen Marshal |
Proc
-objekter, instanser av klassen
IO
eller singleton-objekter, vil et
TypeError
-unntak heves.
Dersom klassen din har spesielle serialiseringsbehov
(for eksempel dersom du ønsker å serialisere til et spesielt format),
eller den inneholder objekter som ellers ikke kan serialiseres, så kan du
implementere din egen serialiseringsstrategi ved å definere to metoder:
_dump
og _load
:
Metodetype | Signatur | Returnerer | ||||||
Instans | _dump(aDepth) | Returnerer en String
|
||||||
Klasse | _load(aString) | Returnerer et gjenoppstått Object
|
||||||
_dump
skal returnere en
String
som inneholder all informasjonen som
trengs for å gjenopplive objekter av denne klassen og alle objekter som
refereres til, opp til en maksimal dybde, aDepth
(gitt en dybde på -1 blir dybdesjekking avslått).
Klassemetoden _load
skal ta en tilsvarende streng og
returnere en instans av denne klassen.
klassemetoder | ||
dump | dump( anObject [, anIO ] , limit=-1 ) -> anIO |
Serialiserer anObject og alle objekter som kan nås fra det.
Dersom anIO angis vil de serialiserte data bli skrevet ut
til dette objektet, ellers returneres serialiseringsdata som en
String .
Dersom limit argumentet er med, vil traverseringen av
subobjekter stoppe på den angitte dybden. Dersom limit er
negativ vil ingen dybdesjekk foretas.
|
load | load( from [, aProc ] ) -> anObject |
Returnerer resultatet av å konvertere de serialiserte data fra
from om til et Ruby objekt (muligens med assosierte subobjekter).
from kan enten være en instans av IO
eller et objekt som svarer på to_str -metoden.
Dersom en proc er angitt så vil den motta hvert objekt
etterhvert som de deserialiseres.
|
restore | restore( from [, aProc ] ) -> anObject |
Et synonym for
Marshal::load
.
|
Forrige < |
Innhold ^
|
Neste >
|