Рабочие заметки — различия между версиями
Материал из Deeptown Manual
Korvin (обсуждение | вклад) м |
Korvin (обсуждение | вклад) м |
||
Строка 11: | Строка 11: | ||
* Функции с переменным списком аргументов (...) | * Функции с переменным списком аргументов (...) | ||
* Автоподстановка хешей foo(hash x) --> foo(:a => 1, :b => 2) | * Автоподстановка хешей foo(hash x) --> foo(:a => 1, :b => 2) | ||
+ | * Свойства вида <tt> '''property''' x '''read''' { ... } '''write''' { |v| ... } </tt> | ||
* Перегрузка функций и операторов теперь (мб временно) невозможна. ИМХО стоит написать примеры того, как это предполагается обходить, потипу: | * Перегрузка функций и операторов теперь (мб временно) невозможна. ИМХО стоит написать примеры того, как это предполагается обходить, потипу: | ||
<source lang="kpp"> | <source lang="kpp"> |
Версия 11:58, 29 марта 2008
TODO
- Добавить строки :string в схему подсветки
- переделать for циклы (объявление управляющей переменной на месте)
- Динамические переменные теперь быстрые (убрать предупреждения)
- Описать необходимость приведения типов (где надо) при работе с динамическими переменными
- Постфиксные условия if, unless
- Поля в расширениях теперь можно делать
- Пространства имен
- Функции с переменным списком аргументов (...)
- Автоподстановка хешей foo(hash x) --> foo(:a => 1, :b => 2)
- Свойства вида property x read { ... } write { |v| ... }
- Перегрузка функций и операторов теперь (мб временно) невозможна. ИМХО стоит написать примеры того, как это предполагается обходить, потипу:
<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 функций