Ячейка памяти
Память процессора умирает вместе с правкой программы. Ячейка помнит — и достают из неё по номеру места
Переменные процессора — его личное дело: другой процессор их не видит, а при правке программы
они обнуляются. Общая и долгая память живёт на карте отдельным блоком: ячейка памяти
и блок памяти. read достаёт из неё значение по номеру места.
Ячейка на этой карте пришла заполненной: её содержимое лежит в сохранении, а не заводится заново при запуске. Программа достаёт из неё три числа и печатает два из них в блок сообщений.
Строка читается как «переменная = откуда адрес»
Заголовок раздела «Строка читается как «переменная = откуда адрес»»| Поле | Что в нём |
|---|---|
| первое | куда положить прочитанное |
| второе | откуда читаем — здесь это ячейка или блок памяти, но бывает и другое |
| третье | адрес: номер места, считая с нуля |
read запас cell1 0Мест в ячейке 64, в блоке памяти 512. Спрашивать об этом саму память умеет sensor:
sensor мест cell1 @memoryCapacityАдрес усекается, а за границей лежит пустота
Заголовок раздела «Адрес усекается, а за границей лежит пустота»Здесь видно оба правила сразу:
read дробный cell1 1.9достаёт место 1, а не 2: дробная часть адреса отбрасывается, а не округляется.1.9и1.0— один и тот же адрес;read заГраницей cell1 64даётnull. Мест 64, они с нуля до 63, и шестьдесят четвёртого нет — но ошибки тоже нет: переменной просто присваивается пустота. Отрицательный адрес — то же самое;read пустое cell1 7даёт0: место есть, оно внутри ячейки, и в нём лежит ноль.
Цикл по памяти
Заголовок раздела «Цикл по памяти»Перебор всей памяти — обычное дело, и границу для него лучше спрашивать, а не вписывать числом:
sensor мест cell1 @memoryCapacityset адрес 0read значение cell1 адресop add сумма сумма значениеop add адрес адрес 1jump 2 lessThan адрес местС числом 64 вместо мест программа сломается молча в тот день, когда ячейку заменят
на блок памяти: она пройдёт первые 64 места из 512 и решит, что остальное пусто.
Неофициальный проект, с Anuke не связан. Спрайты, шрифты и переводы Mindustry © Anuke, используются по GPL-3.0; Fira Code — по OFL-1.1. Код сайта — GPL-3.0.