A collection of extensions that get added to Array.
Returns a new Array that has had a new member inserted between all of the current ones. The value used is the given value argument unless a block is given, in which case the block is called once for each pair of the Array, and the return value is used as the separator.
# File lib/linguistics/monkeypatches.rb, line 12 def separate( *args, &block ) ary = self.dup ary.separate!( *args, &block ) return ary end
The same as separate, but modifies the Array in place.
# File lib/linguistics/monkeypatches.rb, line 19 def separate!( *args ) raise LocalJumpError, "no block given for no-arg #separate!" if args.empty? && !block_given? value = args.first (1..( (self.length * 2) - 2 )).step(2) do |i| if block_given? self.insert( i, yield(self[i-1,2]) ) else self.insert( i, value ) end end self end
Generated with the Darkfish Rdoc Generator 2.