Migracja LeekScript 1 do 2

Migracja LeekScript 1 do 2

> LeekScript samouczek

Ten przewodnik przedstawia różne punkty, które należy sprawdzić, jeśli chcesz przeprowadzić migrację AI LeekScript 1 do 2. Więcej informacji na temat samej wersji znajduje się na stronie LeekScript 2.

Włączanie LeekScript 2

Aby aktywować LeekScript 1 na starej sztucznej inteligencji, po prostu kliknij „LeekScript 1” po lewej stronie paska stanu znajdującego się na dole edytora. Otworzy się menu i możesz kliknąć „LeekScript 2”, aby go aktywować. Sztuczna inteligencja zostanie przeanalizowana bezpośrednio z nowymi regułami.

Domyślne przekazanie przez referencję

W LeekScript 2, w przeciwieństwie do LeekScript 1, wszystkie wartości są przekazywane przez referencję, z wyjątkiem wartości pierwotnych (liczby, booleany, ciągi znaków).

Możesz więc usunąć wszystkie @ ze swojego kodu. (uwaga do tej pory kompilacja z @ nie działa).

Jeśli na przykład masz zakodowane algorytmy rekurencyjne z tablicami, uważaj, aby ręcznie skopiować tablice przekazane jako parametry z funkcją clone() przy każdym wywołaniu.

Bibliografia

W LeekScript 1 niemożliwe jest odwoływanie się do liczby, wartości logicznej lub ciągu znaków. Konieczne będzie enkapsulacja tych wartości w tablicy lub obiekcie, aby odtworzyć to zachowanie.

Korzystanie z klas i obiektów

Zarezerwowane słowa kluczowe

Słowa kluczowe nowy, klasa, rozszerzenia, statyczny, publiczny, chronione, prywatne, implementy, interfejs, konstruktor, to , super i instanceof są zarezerwowane dla OOP i dlatego nie są już dostępne dla nazw zmiennych lub funkcji, więc niektóre z nich będą musiały zostać zmienione w razie potrzeby.

Koszty operacyjne

Dzięki nowym regułom, zwłaszcza pass-by-reference, LeekScript 2 może zużywać znacznie mniej operacji. Jeśli użyłeś warunków dla bieżącej liczby operacji, takich jak na przykład if (getOperations() < 15000000), sztuczna inteligencja może zachowywać się inaczej.

filtr tablicy

Funkcja arrayFilter została poprawiona: wynikowa tablica jest ponownie indeksowana i dlatego nie jest już asocjacyjna z pewnymi wartościami pustymi. Uważaj, aby zaktualizować swoje algorytmy, jeśli znajdziesz się w takim przypadku.

Operator ^=

Operator ^= zmienia znaczenie: wyrażał operator potęgi + przypisania w LeekScript 1, a teraz wyraża binarny operator OR w LeekScript 2.