However, slicing strings is a little easier syntax-wise than in Perl.
by Alifatisk
0 subcomment
What a fun article to read. This is such a cool showcase of the languages capabilities and standard library that comes with it. There is a gem named ”Ronin”, which is supposed to cover cases like this. But in your case, it doesn’t seem to be needed anyways.
by dahrkael
0 subcomment
Ruby is always a pleasure to use. Another very good language for parsing binary is Erlang/Elixir where you can pattern match against the raw bytes specifying sizes, endianess, etc and its all too well integrated in the language.
by davidslv
1 subcomments
Author here. This started as a hobby attempt to understand Codemasters' old driving AI, which had received quite a few interesting game reviews at the time. Which meant first reading their "BIGF" archive format. The surprise was Ruby: String#unpack is basically a fast, C-backed binary parser hiding in the stdlib, and the whole reader is dependency-free. Repo (MIT): https://github.com/davidslv/bigf
Honest note: AI-assisted throughout — I steered and verified every claim against the bytes. No game data committed; tests synthesise fixtures from the documented format.