özyineleme - Typescript'te Hanoi Kuleleri kodu nasıl çalışır?


Burada, bazı hataları düzelttikten sonra çalıştıramadığım Towers of Hanoi'nin bir Python sürümünü TypeScript'e çoğaltabildim. Kodu değiştirmek için her seçeneği denedim ama yine de çalışmıyor. Towers of Hanoi kodumda neyin yanlış gittiğine dair küçük bir rehber. İşte kod.

let A = [1, 2, 3];
let B = [];
let C = [];

function move(n, source, auxiliary, target) {
  if (n > 0) {
      move(n, source, target, auxiliary)
      target.append(source.pop());
      console.log(A);
      console.log(B);
      console.log(C);
      console.log('##############', n);
      move(n - 1, auxiliary, source, target);
  }
}

move(3, A, B, C);

Orijinal Python kodu: Hanoi Kuleleri

A = [3, 2, 1]
B = []
C = []

def move(n, source, target, auxiliary):
    if n > 0:
    move(n - 1, source, auxiliary, target)
    target.append(source.pop())
    print(A, B, C, '##############', sep='\n')
    move(n - 1, auxiliary, target, source)
    
    move(3, A, C, B)