0Pricing
Mojo Academy · Урок

Первый взгляд на мутацию

Изменяйте данные, не нарушая работу другого кода.

«Первый взгляд на мутацию» — бесплатный урок Mojo Academy на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Mojo Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Mojo Academy содержит 4 уроков всего.

Части этого урока еще не переведены и отображаются на английском.

Changing Data On Purpose

Independent copies are great, but real programs must mutate data: update a score, grow a list. Let us do it safely. ✏️

Mutating Your Own var

The simplest mutation is reassigning a var you own. Since it is your copy, the change affects only your value.

var score = 10
score = score + 5

Local Mutation Is Free of Side Effects

Editing a local var cannot leak outward. Other variables keep their values, so the change has no surprise side effects.

var a = 1
var b = a
a = 100

Functions Get Copies By Default

Pass a value to a function and it edits a copy. Your original outside the function is left untouched.

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

But Sometimes You Want Real Change

What if a function should update the caller's value in place? Mojo lets you opt in with the inout convention.

inout Means Mutate In Place

Mark an argument inout and the function works on the caller's actual value, so its edits truly stick.

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

Mutation Is Explicit, Not Accidental

Notice you had to write inout on purpose. Mojo never mutates the caller behind your back; you always opt in.

Reading the Signature Tells You

The function signature reveals intent. See inout and you know your value may change; otherwise expect a safe copy.

Calling an inout Function

Call it with your var and watch the value update right where it lives. The function reached your original, by design.

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

A Balanced Approach

Mojo blends both worlds: safe copies by default, deliberate mutation when you ask. You get safety and flexibility together.

What Comes Next

This is just a first taste. Later you will meet owned and the transfer operator for full control over how data moves. 🚀

Quick Check

You want a function to change the caller's actual value, not a copy. What do you use?

Recap

Mutating your own var is safe and local. To change a caller's value, opt in with inout; nothing mutates by accident. 🎯

Часто задаваемые вопросы

Урок «Первый взгляд на мутацию» бесплатный?

Да — полный текст урока «Первый взгляд на мутацию» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Mojo Academy, подпишись на CoddyKit PRO. Курс Mojo Academy содержит 4 уроков всего.

Чему я научусь в уроке «Первый взгляд на мутацию»?

Изменяйте данные, не нарушая работу другого кода. Ты практикуешь Mojo Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Mojo Academy?

Предыдущий опыт не требуется. Mojo Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.

Сколько времени занимает урок «Первый взгляд на мутацию»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Mojo Academy?

Да. Каждый урок Mojo Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Что означает семантика значений
  2. Копии и общее состояние
  3. Безопасное поведение Mojo по умолчанию
  4. Первый взгляд на мутацию
← Назад к Mojo Academy