コード例 #1
0
 private Option <ActorItem> GetItem(ProcessId pid, ActorItem current)
 {
     if (pid == ProcessId.Top)
     {
         return(current);
     }
     else
     {
         var child = pid.Head().Name.Value;
         if (current.Actor.Children.ContainsKey(child))
         {
             var process = current.Actor.Children[child];
             return(GetItem(pid.Tail(), process));
         }
         else
         {
             return(None);
         }
     }
 }
コード例 #2
0
 private Option <ActorItem> GetItem(ProcessId pid) =>
 pid.IsValid
         ? pid.Head() == RootProcess.Id
             ? GetItem(pid.Tail(), root)
             : failwith <Option <ActorItem> >("Can't get non-local items from within ActorSystemState")
         : None;