I usually use 3!:4 and 3!:5 when reading objects streamed to file from
someone else's code. I wind up writing a read verb (and a write verb)
for every "type" which reads its stuff starting at a global offset
into the reference character array and then updates that offset to
point at the end. If there's ever an array of them, the dyadic form of
the verb reads x of them. (And one dimension is sufficient in this
context.)

I can tell my code is correct when it can read a file to my internal
representation and write it back out without introducing any defects
on my test data set. Except I can also identify bugs in the original
code when coding to spec requires that what I write back out differs
from what I read in. That can get annoying sometimes (it means that
for complete correctness I need to represent the buggy data - that's
the sort of thing that makes me feel like abandoning a project or at
least wish I could replace larger parts of the system).

It's very "forth-like" in feel, and verbose. And some types require a
bit of manipulation after the initial conversion, to make things
correct. But, this seems to me to be a fairly appropriate match to the
problem.

Your mileage may vary.

Thanks,

-- 
Raul

On Tue, Jan 20, 2015 at 10:47 AM, 'Pascal Jasmin' via Programming
<[email protected]> wrote:
> 3!:1 is more powerful than this.  Converts any noun to a binary (string) 
> representation.  3!:2 unpacks.
>
>
> ----- Original Message -----
> From: Jon Hough <[email protected]>
> To: "[email protected]" <[email protected]>
> Cc:
> Sent: Tuesday, January 20, 2015 10:42 AM
> Subject: [Jprogramming] J Equivalent of Python Struct.Pack/Unpack
>
> Python has a useful module called struct
> https://docs.python.org/2/library/struct.html
> which is useful for converting strings to packed binary data.
> e.g.
> data = struct.pack('B', someHexString)
>
> Does J have an equivalent or similar function / verb?
> I spent a bit of time looking, but couldn't find anything.
>
> Example usage would be sending data over a network.
>
>
>
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to