Рабочие заметки — различия между версиями
Материал из Deeptown Manual
Korvin (обсуждение | вклад) м |
Korvin (обсуждение | вклад) м |
||
Строка 5: | Строка 5: | ||
* переделать <tt>'''for'''</tt> циклы (объявление управляющей переменной на месте) | * переделать <tt>'''for'''</tt> циклы (объявление управляющей переменной на месте) | ||
* Динамические переменные теперь быстрые (убрать предупреждения) | * Динамические переменные теперь быстрые (убрать предупреждения) | ||
+ | * Описать необходимость приведения типов (где надо) при работе с динамическими переменными | ||
* Постфиксные условия <tt>'''if'''</tt>, <tt>'''unless'''</tt> | * Постфиксные условия <tt>'''if'''</tt>, <tt>'''unless'''</tt> | ||
* Поля в расширениях теперь можно делать | * Поля в расширениях теперь можно делать |
Версия 11:43, 29 марта 2008
TODO
- Добавить строки :string в схему подсветки
- переделать for циклы (объявление управляющей переменной на месте)
- Динамические переменные теперь быстрые (убрать предупреждения)
- Описать необходимость приведения типов (где надо) при работе с динамическими переменными
- Постфиксные условия if, unless
- Поля в расширениях теперь можно делать
- Пространства имен
- Функции с переменным списком аргументов (...)
- Автоподстановка хешей foo(hash x) --> foo(:a => 1, :b => 2)
- Перегрузка функций и операторов теперь (мб временно) невозможна. ИМХО стоит написать примеры того, как это предполагается обходить, потипу:
<source lang="kpp"> class MyClass { public:
operator MyClass + (x) { switch(class_of(x)) { case 'std/int': { /* MyClass + int */ } case 'std/string': { /* MyClass + string */ } default: { /* MyClass + (x as MyClass) */ } } }
} </source>
Замечания по самому тексту
- коммент в разделе Введение,_или_краткий_обзор#Здравствуй,_мир!
TODO компилятора
- возможность объявлять класс до его реализации, аналогично forward declarations функций