
module Stdex
  module ArrayEx 
    # 配列要素をペアーとしてブロックを呼び出す。
  	def elementPair(pairElement=0,pairStep=1)
  		i=0
  		if(pairStep<1)
  		  pairStep=1
  		end
  		if(pairElement>0)
  		  pairElement-=1
  		end
      while i < self.size
        yield self[i..i+pairElement]
        i += pairStep
      end
    end
    def to_csv(csvWriter)
      # 引数で指定したCSV::Writerのインスタンスへ配列の内容を書き出す(2次元配列の場合は行列データとして書きだす)
      require "csv"
      if(csvWriter.is_a?(CSV::Writer))
        self.each { | element |
          if(element.is_a?(Array))
            csvWriter<<element
          else
            element.each { | data |
              csvWriter<<data
            }
          end
        }
      end
    end
  end
end
