List Info

Thread: question about ByteStream(Stream)>>#next:




question about ByteStream(Stream)>>#next:
user name
2006-10-25 21:44:26
Robin Redeker wrote:
> Hi,
> 
> i'm currently running this expression and wonder why i
got a backtrace:
> 
>    st> ((ByteStream on: 'foobar') next: 3)!

st> ByteStream comment displayNl!
My instances are read/write streams specially crafted for
ByteArrays.
They are able to write binary data to them.
st> ByteArray comment displayNl!
My instances are similar to strings in that they are both
represented as
a sequence of bytes, but my individual elements are
integers, where as
a String's elements are characters.

In other words, if you really must use a ByteStream, do
ByteStream on:
'foobar' asByteArray.  Otherwise, see ReadWriteStream,
ByteStream's
superclass, for an alternative.

> As the collection used internally in ByteStream is a
String (ByteStream>>#species returns that at least)
> (super next) returns a Character and not a
SmallInteger.

Stream>>#species and overriders refer to the kind of
collection
answered by #upTo: and other methods that "read
from" or "write to"
the stream, which works as expected.  The question of the
underlying
collection's class is a PositionableStream-specific concept.

-- 
Stephen Compall
http://scompall.no
candysw.com/blog


_______________________________________________
help-smalltalk mailing list
help-smalltalkgnu.org

http://lists.gnu.org/mailman/listinfo/help-smalltalk
[1]

about | contact  Other archives ( Real Estate discussion Medical topics )