私は、次のアイテムのバイト長を指定し、次にそのアイテムのバイト数、次に次のアイテムのバイトサイズなどを指定する整数を持つように構成された3つのストリングのパックストリングを持っています。あたかも誰かがしたかのように:Ruby String#unpack
[a.bytesize, a, b.bytesize, b, c.bytesize, c].pack("na*na*na*")
どうすれば簡単に解決できますか?この問題へのPerlソリューションだった:簡単に
vals = []
3.times do
size = data.unpack("n").first
data.slice!(0, 2)
vals << data.unpack("a#{size}").first
data.slice!(0, size)
end
があります:明らかにアンパックで「/」や括弧をサポートしていませんルビーについては、
my($a, $b, $c) = unpack("(n/a*)3", $data)
、私のようなものを使用していますこれには?
、私は、ルビーの課題追跡にアンパックを拡大する機能要求を行うことを検討実装はいくつかのPerlの機能を取得する場合、それは有用である可能性があるように思えるでしょう – Speed