> # As an idiom Array#[pos,len]= works ok, but have couple of traps. First, > it autoflattens. > I have a generic terminology question about the use of "autoflatten" in > Ruby and other languages (e.g. Perl, Scheme, Python, etc.). Does anyone > know offhand if "(auto)flatten" generally means "completely flatten all > levels of nesting" or "just flatten the shallowest level of nesting"? I don't recall seeing "autoflatten". In the case of Array#flatten though, it is a deep flattening, and using that default meaning of the word, I can assure you that Array#[]= does not "flatten". Array#join does "flatten" first but acts lightly with referential loops (puts "[...]" instead of raise), just like Array#inspect does. (Perl has no notion of "flatten" in the language or in the base libraries, afaik) matju