Mailing List Archive: 49091 messages
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search

[REBOL] Re: [data structures]

From: joel::neely::fedex::com at: 20-Nov-2003 18:05

Hi, Gregg, Gregg Irwin wrote:
> ... For example, how would > we build constructs in REBOL to emulate what Perl does with > auto-sizing arrays,
Exactly what I was hoping for. As an example, I've been using the nested-block trick to simulate mutable arrays in REBOL for some time, and have no specific problem/complaint with it (other than the fact that it looks a bit funny... ;-) However, I was hoping for some additional suggestions from the list.
> or what would a Perlite/Perler/Perl-monger (proper > term?) do to provide protection *against* auto-sizing if it wasn't > desired.
I can think of three alternatives right off: ++$array[$n] if $minOK <= $n && $n <= $maxOK; to ignore OOBVs (out-of-bounds values), ++$array[$n < $minOK ? $minOK : $maxOK < $n ? $maxOK : $n]; to force OOBVs to the violated boundary, or ++$array[$minOK <= $n && $n <= $maxOK ? $n : $default]; to force OOBVs to some default bucket. The last two index expressions (for those not familiar with C or Perl) are essentially equivalent to the REBOL expressions either n < minOK [minOK] [either maxOK < n [maxOK] [n]] and either all [minOK <= n n <= maxOK] [n] [default] I'd actually write the first of these in REBOL as max minOK min maxOK n To say that in Perl one would need to define the min and max functions, as they aren't built in. -jn-