55703


Rubyで複素数1次元配列の信号をdatファイル出力したいのですが方法がわかりません．

どなたかご教授お願い致します

例えば以下のような信号をバイナリ形式のdatファイルで出力したい

[code]

    signal = [Complex(0.01111, -0.22222), Complex(0.0321, 0.0006), Complex(0.43, -0.4421)]
    
[/code]

datファイルに出力することで，datファイルから読み取るときに書き込みと読み込み前後で同様の信号が得られるようにしたいです．Complex
の内容はIEEE 754の浮動小数点数と思っても大丈夫です．


CC BY-SA 4.0
2019-06-11T04:30:20.487
55696
2019-06-14T08:48:42.010
2019-06-12T02:41:16.467
19110
30173
question
ruby
複素数で構成された配列をdatファイル出力したい


`Marshal.dump(obj)` でオブジェクトをバイナリ文字列化できるので、それをファイルに出力すればいいと思います。  
元のオブジェクトに戻すには `Marshal.load(str)` を使用します。

<https://docs.ruby-lang.org/ja/latest/class/Marshal.html>

たとえば、質問中の `signal` オブジェクトをファイルに書き出すには次のようになります。

[code]

    File.write("filename.dat", Marshal.dump(signal))
    
[/code]

このように書かれたファイルから読み込む場合は次のようにします。

[code]

    signal = Marshal.load(File.read("filename.dat"))
    
[/code]


CC BY-SA 4.0
2019-06-11T14:05:34.297
55703
2019-06-14T08:48:42.010
2019-06-14T08:48:42.010
3249
3249
55696
answer