class_docstr: Set of EnvRunners with n @ray.remote workers and zero or one local worker.
  
  Where: n >= 0.
class_docstr_tok: ["Set","of","EnvRunners","with","n","@","ray.remote","workers","and","zero","or","one","local","worker",".","Where",":","n",">","=","0","."]
docstr: Calls `func` with all workers' sub-environments and env_ctx as args.
  
  An "underlying sub environment" is a single clone of an env within
  a vectorized environment.
  `func` takes a single underlying sub environment and the env_context
  as args.
  
  Args:
      func: A function - taking a BaseEnv object and an EnvContext as
          arg - and returning a list of lists of return values over envs
          of the worker.
  
  Returns:
      The list (1 item per workers) of lists (1 item per sub-environment)
          of results.
docstr_tok: ["Calls","`","func","`","with","all","workers","'","sub-environments","and","env_ctx","as","args",".","An","``","underlying","sub","environment","''","is","a","single","clone","of","an","env","within","a","vectorized","environment",".","`","func","`","takes","a","single","underlying","sub","environment","and","the","env_context","as","args",".","Args",":","func",":","A","function","-","taking","a","BaseEnv","object","and","an","EnvContext","as","arg","-","and","returning","a","list","of","lists","of","return","values","over","envs","of","the","worker",".","Returns",":","The","list","(","1","item","per","workers",")","of","lists","(","1","item","per","sub-environment",")","of","results","."]
code: def foreach_env_with_context(
      self, func: Callable[[BaseEnv, EnvContext], List[T]]
  ) -> List[List[T]]:
      """Calls `func` with all workers' sub-environments and env_ctx as args.
  
      An "underlying sub environment" is a single clone of an env within
      a vectorized environment.
      `func` takes a single underlying sub environment and the env_context
      as args.
  
      Args:
          func: A function - taking a BaseEnv object and an EnvContext as
              arg - and returning a list of lists of return values over envs
              of the worker.
  
      Returns:
          The list (1 item per workers) of lists (1 item per sub-environment)
              of results.
      """
      return list(
          self.foreach_worker(
              lambda w: w.foreach_env_with_context(func),
              local_worker=True,
          )
      )
  
imports: import functools
  import gymnasium
  import logging
  import importlib.util
  import os
  from typing import Callable, Container, Dict, List, Optional, Tuple, Type, TYPE_CHECKING, TypeVar, Union
  import ray
  from ray.actor import ActorHandle
  from ray.exceptions import RayActorError
  from ray.rllib.core.rl_module.rl_module import SingleAgentRLModuleSpec
  from ray.rllib.evaluation.rollout_worker import RolloutWorker
  from ray.rllib.utils.actor_manager import RemoteCallResults
  from ray.rllib.env.base_env import BaseEnv
  from ray.rllib.env.env_context import EnvContext
  from ray.rllib.env.env_runner import EnvRunner
  from ray.rllib.offline import get_dataset_and_shards
  from ray.rllib.policy.policy import Policy, PolicyState
  from ray.rllib.policy.sample_batch import DEFAULT_POLICY_ID
  from ray.rllib.utils.actor_manager import FaultTolerantActorManager
  from ray.rllib.utils.annotations import DeveloperAPI
  from ray.rllib.utils.deprecation import Deprecated, deprecation_warning, DEPRECATED_VALUE
  from ray.rllib.utils.framework import try_import_tf
  from ray.rllib.utils.policy import validate_policy_id
  from ray.rllib.utils.typing import AgentID, EnvCreator, EnvType, EpisodeID, PartialAlgorithmConfigDict, PolicyID, SampleBatchType, TensorType
label_desc: Use image node_id 24 for calling the WorkerSet obj's underlying member method code with example usage: obj.foreach_env_with_context(func) and returns: list