def set_ele(row, col, val)
      unless row.is_a?(String) && col.is_a?(String) && val.respond_to?(:to_s)
        raise ArgumentError, 'Illegal argument type'
      end

      set_row(row, [''] * @col_keys.size) unless @row_keys[row]
      set_col(col, [''] * @row_keys.size) unless @col_keys[col]

      row = @row_keys[row]
      col = @col_keys[col]
      @content[row][col] = val.to_s

      self
    end
def set_ele(row, col, val)
      unless row.is_a?(String) && col.is_a?(String) && val.respond_to?(:to_s)
        raise ArgumentError, 'Illegal argument type'
      end

      set_row(row, [''] * @col_keys.size) unless @row_keys[row]
      set_col(col, [''] * @row_keys.size) unless @col_keys[col]

      row = @row_keys[row]
      col = @col_keys[col]
      @content[row][col] = val.to_s

      self
    end
Set an element
 @param row [String]
 @param col [String]
 @param val [String]
 @return [Table]