That is the intended behavior, because you end up with some very bad
recursion problems trying to convert non-string objects to their string
representations. I stumbled on this accidentally while testing somethings
in RexxTry. Typing

  a[1] = a
  a[2] = b
  a[3] = c
  say a

caused a crash because I had accidentally created a self-reference to the
array in the first item. This is the reason the proper implementation of
makeString for the array class used to be disable. Using the "safe" string
version of non-string objects was a compromise to keep things safe and also
allowed the makeString method to be properly implemented.

Rick


On Sun, Feb 24, 2019 at 9:59 AM Erich Steinböck <erich.steinbo...@gmail.com>
wrote:

> When Array items are non-String object instances, the toString() method
> does not return the String representation of the instances.  An example
> using MutableBuffer:
>
> m = .MutableBuffer~new(123)
> say m                       -- 123
> say (m, m)~toString(, " ")  -- a MutableBuffer a MutableBuffer
>
> Setting objectName= would work, but really doesn't feel right.
> Is this intended or a bug?
> _______________________________________________
> Oorexx-devel mailing list
> Oorexx-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/oorexx-devel
>
_______________________________________________
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel

Reply via email to