Marshalで配列をコピーする

プログラマ脳を鍛える数学パズルを一日一問写経しながらすすめてる。
すると、rubyで配列をコピーするのにMarshalというモジュールを使用していた。
見慣れないモジュールだったのでちょっと調べてみた。

本来はファイルに文字列などを書き出すためのものらしい。
ちなみに、Marshalを使用して配列をコピーするときは以下のようにすると良い。

a = [1,2,3,4,5]
p a # [1, 2, 3, 4, 5]

b = Marshal.load(Marshal.dump(a))
p b # [1, 2, 3, 4, 5]

puts a == b # true

他にも書き込みモードのファイルオブジェクトを指定して書き出し・それを指定して読み込みなんてこともできるとか。

http://tamata78.hatenablog.com/entry/2015/11/14/214114