class Array def setDefault(&block) @_default = block end def length=(val) slice!(val...length) if length > val push(@_default ? @_default.call : nil) while length < val end end