Автоматическая конвертация типов данных
Как мы уже упоминали выше, окошко для числовых параметров может соединяться только с блоком-функцией в форме прямоугольника со скругленными углами. Все блоки-функции — прямоугольники со скругленными углами, с которыми вы до сих пор работали, включая положение х, положение у, направление, костюм, размер, громкость, темп и пр., — выдают числа. Нет никаких сложностей с использованием чисел в окошках, для них и предназначенных (например, в блоке идти 10 шагов). Но некоторые блоки-функции в виде прямоугольников со скругленными углами (например, ответ из раздела Сенсоры или слить из раздела Операторы) могут работать как с числами, так и со строками. Возникает вопрос: что произойдет, если мы, например, вставим блок ответ, содержащий строку, в окошко, предназначенное для чисел? К счастью, при необходимости Scratch автоматически пытается конвертировать один тип данных в другой.ё
В данном случае пользователь вводит 125 в ответ на подсказку Введите число. Информация сохраняется в блоке-функции ответ. Когда она передается команде сказать, то автоматически конвертируется в строку. Когда этот же ответ передается для выполнения операции сложения (которая ожидает получить число), то происходит обратная конвертация в число 125. После выполнения операции сложения результат (25 + 125 = 150) конвертируется обратно в строку, а число 150 передается блоку сказать. Так Scratch автоматически пытается выполнить эту конверсию.