Mojo Academy · Lekcja

Pierwsze spojrzenie na mutowanie

Zmieniaj dane bez zakłócania działania innego kodu.

Lekcja 4 z 413 kroki

Pierwsze spojrzenie na mutowanie to bezpłatna lekcja Mojo Academy na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Mojo Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Mojo Academy zawiera 4 lekcji w sumie.

Celowe zmienianie danych

Niezależne kopie są świetne, ale prawdziwe programy muszą modyfikować dane: aktualizować wynik czy powiększać listę. Zróbmy to bezpiecznie. ✏️

Modyfikowanie własnej zmiennej var

Najprostsza modyfikacja polega na ponownym przypisaniu wartości do należącej do użytkownika zmiennej var. Ponieważ jest to własna kopia, zmiana wpływa tylko na tę wartość.

var score = 10
score = score + 5

Lokalne modyfikacje nie powodują efektów ubocznych

Edycja lokalnej zmiennej var nie może wpłynąć na kod poza jej zakresem. Pozostałe zmienne zachowują swoje wartości, więc zmiana nie powoduje nieoczekiwanych skutków ubocznych.

var a = 1
var b = a
a = 100

Funkcje domyślnie otrzymują kopie

Przekazanie wartości do funkcji powoduje edycję jej kopii. Oryginalna wartość poza funkcją pozostaje nietknięta.

fn bump(n: Int) -> Int:
    return n + 1

Czasami jednak potrzebują Państwo rzeczywistej zmiany

A co, jeśli funkcja powinna zmienić wartość wywołującego bezpośrednio? Mojo pozwala włączyć takie działanie za pomocą konwencji inout.

inout oznacza modyfikację w miejscu

Oznaczenie argumentu jako inout sprawia, że funkcja działa na rzeczywistej wartości wywołującego, więc wprowadzone zmiany zostają zachowane.

fn double(inout n: Int):
    n = n * 2

Modyfikacja jest jawna, a nie przypadkowa

Zauważ, że trzeba było celowo zapisać inout. Mojo nigdy nie modyfikuje wartości wywołującego za jego plecami — zawsze trzeba wyrazić na to zgodę.

Sygnatura funkcji mówi, czego się spodziewać

Sygnatura funkcji ujawnia jej zamiar. Gdy widzą Państwo inout, wiadomo, że wartość może się zmienić; w przeciwnym razie należy oczekiwać bezpiecznej kopii.

Wywoływanie funkcji inout

Wywołaj funkcję z użyciem swojej zmiennej var i obserwuj, jak wartość aktualizuje się bezpośrednio w miejscu, w którym się znajduje. Funkcja celowo uzyskała dostęp do Państwa oryginalnej wartości.

var n = 4
double(n)
print(n)

Zrównoważone podejście

Mojo łączy oba podejścia: domyślnie zapewnia bezpieczne kopie, a na żądanie umożliwia świadomą modyfikację. Otrzymują Państwo jednocześnie bezpieczeństwo i elastyczność.

Co dalej

To dopiero pierwszy przedsmak możliwości. Później poznają Państwo owned oraz operator transferu, które zapewniają pełną kontrolę nad sposobem przemieszczania danych. 🚀

Szybkie sprawdzenie

Chcą Państwo, aby funkcja zmieniła rzeczywistą wartość wywołującego, a nie jej kopię. Czego należy użyć?

Podsumowanie

Modyfikowanie własnej zmiennej var jest bezpieczne i lokalne. Aby zmienić wartość wywołującego, należy użyć inout; nic nie zmienia się przypadkowo. 🎯

Bezpłatny start

Ucz się Mojo dzięki korepetycjom AI — za darmo

Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.

Kursy
30
Lekcje
120

Często zadawane pytania

Czy lekcja „Pierwsze spojrzenie na mutowanie” jest bezpłatna?

Tak — pełny tekst „Pierwsze spojrzenie na mutowanie” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Mojo Academy, przejdź na CoddyKit PRO. Kurs Mojo Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Pierwsze spojrzenie na mutowanie”?

Zmieniaj dane bez zakłócania działania innego kodu. Ćwiczysz Mojo Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Mojo Academy?

Nie wymagamy żadnego doświadczenia. Mojo Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.

Ile czasu zajmuje lekcja „Pierwsze spojrzenie na mutowanie”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Mojo Academy?

Tak. Każda lekcja Mojo Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Znaczenie semantyki wartości
  2. Kopie a współdzielony stan
  3. Bezpieślna domyślność Mojo
  4. Pierwsze spojrzenie na mutowanie
← Powrót do Mojo Academy