# Stretchy NVector

**URL:** <https://www.ruby-forum.com/t/stretchy-nvector/141718>\
**Category:** Ruby\
**Created:** [June 30, 2008, 2:20am UTC](https://www.ruby-forum.com/t/stretchy-nvector/141718 "2008-06-30T02:20:29Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Joel\_VanderWerf](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/e19b73/32.png) [@Joel\_VanderWerf](https://www.ruby-forum.com/u/Joel_VanderWerf)\
**Post date:** [June 30, 2008, 2:20am UTC](https://www.ruby-forum.com/t/stretchy-nvector/141718/1 "2008-06-30T02:20:29Z")

</div>

Anyone know a way to make a NVector (from the narray extension)  
stretchy, i.e. support #push or #\<\< ?

irb(main):001:0\> v = NVector.float(1)  
=\> NVector.float(1):  
[0.0]  
irb(main):002:0\> v \<\< 1.0  
NoMethodError: undefined method `\<\<’ for NVector.float(1):  
[0.0]:NVector  
from (irb):2

The answer can’t involve realloc on every append. Some kind of exp  
growth (like ruby arrays) would be fine.

I’m looking for an efficient way to log float data in memory.
