Как извлечь обратный вызов robotCall
в аргументе моего runRobot
метода в интерфейс?Я пробовал что-то вроде
interface RobotCall {
call: ((state: VillageState, memory: string[]) => Robot)
}
Но продолжаю получать ошибку TypeError.Вот полная функция, которую я использую. Я хочу использовать интерфейс.
export function runRobot(
state: VillageState,
robotCall: ((state: VillageState, memory: string[]) => Robot),
memory?: string[]): void {
for (let turn = 0; ; turn++) {
if (state.parcels.length === 0) {
console.log('='.repeat(5), `${robotCall.name} done in ${turn} turns`, '='.repeat(5));
break;
}
let robot = robotCall(state, memory);
state = state.move(robot.direction);
memory = robot.memory;
}
}