Ruby and byte

Hello!

How would you go about representing the byte type in Ruby? I have a task
where I neeed to be writing and reading bytes from a tcp socket - so for
instance I might want to send/receive an integer which is 1 byte long,
other times 4 bytes. in Java you can do that easily with the byte type,
so far I have no good idea how to do this in Ruby.


Agnieszka

On 7/12/06, Agnieszka F. [email protected] wrote:

How would you go about representing the byte type in Ruby? I have a task
where I neeed to be writing and reading bytes from a tcp socket - so for
instance I might want to send/receive an integer which is 1 byte long,
other times 4 bytes. in Java you can do that easily with the byte type,
so far I have no good idea how to do this in Ruby.

Use a String.

Pedro.

Agnieszka F. wrote:

Hello!

How would you go about representing the byte type in Ruby? I have a task
where I neeed to be writing and reading bytes from a tcp socket - so for
instance I might want to send/receive an integer which is 1 byte long,
other times 4 bytes. in Java you can do that easily with the byte type,
so far I have no good idea how to do this in Ruby.

Use Array#pack to put your bytes/integers/etc in a string. Send and
receive strings. Use String#unpack to extract bytes/integers/etc from
the string.

Good luck.

class Integer
def bytes
" "*self
end
end

send(10.bytes)

j`ey
http://www.eachmapinject.com

Carlos wrote:

Use Array#pack to put your bytes/integers/etc in a string. Send and
receive strings. Use String#unpack to extract bytes/integers/etc from
the string.

And you might want to check out bit-struct for a more object-oriented
and readable wrapper around pack and unpack:

http://redshift.sourceforge.net/bit-struct/