LINUX.ORG.RU

История изменений

Исправление geekless, (текущая версия) :

переменная. Функции через ":" обявляются. Вот так x: y

Вот твой пример:

z x:int, y:int = 2*x + y
Функция объявлена через =

Поехали дальше:

a x
Если у тебя язык не pure, тебе придётся знать ответ на вопрос: в какой момент будет вызвана x. И сколько раз.

y должен быть объявлен выше чтобы к этому момент компилер знал тип. Хотя, всё равно парсинг итп будут многопроходным, поэтому можно отрезолвить тип даже если y объявлен ниже x. Это если в этом действительно есть необходимость.

Если тебе нужно знать тип y, чтобы сформулировать выражение типа для x, то это «плохие новости», ну. :} Даю подсказку: typeof(x) == typeof(y). Наверное. А может и нет, я ж не знаю твоего ЯП.

Исходная версия geekless, :

переменная. Функции через ":" обявляются. Вот так x: y

Вот твой пример:

z x:int, y:int = 2*x + y
Функция объявлена через =

Поехали дальше:

a x
Если у тебя язык не pure, тебе придётся знать ответ на вопрос: в какой момент будет вызвана x. И сколько раз.

y должен быть объявлен выше чтобы к этому момент компилер знал тип. Хотя, всё равно парсинг итп будут многопроходным, поэтому можно отрезолвить тип даже если y объявлен ниже x. Это если в этом действительно есть необходимость.

Если тебе нужно знать тип y, чтобы свормулировать выражение типа для x, то это «плохие новости», ну. :} Даю подсказку: typeof(x) == typeof(y). Наверное. А может и нет, я ж не знаю твоего ЯП.