# File ruby/bstream.rb, line 240
        def write_array(arg)
          return write_null if arg.nil? 
          return write_zero_array(arg) if arg.size == 0
          
          type,array = check_type_array(arg)

          case type
          when T_NULL
                return write_zero_array
          when T_DECIMAL
                return write_decimal_array(array)
          when T_INTEGER8
                return write_int8_array(array)
          when T_INTEGER4
                return write_int4_array(array)
          when T_INTEGER2
                return write_int2_array(array)
          when T_INTEGER1
                return write_int1_array(array)
          when T_DOUBLE
                return write_double_array(array)
          when T_STRING
                return write_string_array(array)
          when T_BOOLEAN_TRUE
                return write_bool_array(array)
          else
                write_list(arg)
          end
        end