class_docstr: Base class for nested array objects.
class_docstr_tok: ["Base","class","for","nested","array","objects","."]
code: def ragged_multi_map(fn, ragged_arrays):
      args = []
      for ragged in ragged_arrays:
          args.append(ivy.copy_nest(ragged.data))
      ret = ivy.nested_multi_map(lambda x, _: fn(x), args)
      # infer dtype, shape, and device from the first array in the ret data
      broadcasted_shape = ivy.NestedArray.broadcast_shapes(
          [arg.shape for arg in ragged_arrays]
      )
      # infer ragged_rank from broadcasted shape
      for i, dim in enumerate(broadcasted_shape[::-1]):
          if dim is None:
              nested_rank = len(broadcasted_shape) - i - 1
              break
      inner_shape = broadcasted_shape[nested_rank:]
      arr0_id = ivy.nested_argwhere(
          ret, ivy.is_ivy_array, stop_after_n_found=1
      )[0]
      arr0 = ivy.index_nest(ret, arr0_id)
      ragged_ret = ivy.NestedArray.nested_array(
          ret, nested_rank, inner_shape, arr0.dtype, arr0.device
      )
      return ragged_ret
  
imports: import abc
  from typing import List, Tuple
  import ivy
label_desc: Use image node_id 4 for calling the NestedArrayBase obj's underlying member method code with example usage: obj.ragged_multi_map(fn, ragged_arrays) and returns: ragged_ret