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.nocandysw.com/blog


_______________________________________________
help-smalltalk mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/help-smalltalk

Reply via email to