Location: a-k-r / amarshal / amarshal - Ruby object to Ruby code

About

AMarshal is a library for marshaling a Ruby object as a Ruby code. It can marshal objects which have cyclic reference.

Author

Tanaka Akira <akr@fsij.org>

Home Page

http://www.a-k-r.org/amarshal/

Usage

AMarshal is similar to Marshal.

% ruby -ramarshal -e 'AMarshal.dump([1,2,3], STDOUT)'
v = []
v[0] = Array.allocate()
v[0] << 1
v[0] << 2
v[0] << 3
v[0]

Highly experimental pretty printing version also exists:

% ruby -ramarshal-pretty -e '
  o = [1,2]
  o << [[3], [[4]], [[[o]]]]
  o = [5, o, [[[o]]], o]
  AMarshal.dump_pretty(o, STDOUT)'
v = []
v[0] = Array.allocate
v[0] << 1
v[0] << 2
v[0] << [[3], [[4]], [[[v[0]]]]]
[5, v[0], [[[v[0]]]], v[0]]

Requirements

Download