|
|
@@ -123,8 +123,8 @@
|
|
|
|
|
|
(// Ошибка: (x + 1) — запрещено)
|
|
|
(если (x как Целое)
|
|
|
- тогда (обработать-число (тип Целое в x))
|
|
|
- иначе (ошибка "ожидалось число"))
|
|
|
+ тогда (обработать-число (тип Целое в x))
|
|
|
+ иначе (ошибка "ожидалось число"))
|
|
|
```
|
|
|
|
|
|
Это — материалистическое требование: чтобы работать с реальностью, нужно понять её структуру.
|
|
|
@@ -144,13 +144,18 @@
|
|
|
|
|
|
Проверка типа:
|
|
|
|
|
|
-`(если (тип х как Пользователь))` Булево, безопасно
|
|
|
+- `(если (тип х как Пользователь))` Булево, безопасно
|
|
|
+- Безопасное извлечение типа
|
|
|
|
|
|
-Приведение с проверкой `(фикс х (= тип Пользователь из дата)` Падает, если не подходит
|
|
|
+```lisp
|
|
|
+(если (тип х как Пользователь)
|
|
|
+ тогда обработать
|
|
|
+ иначе (ошибка "ожидался пользователь"))
|
|
|
+```
|
|
|
|
|
|
-Безопасное извлечение типа `если (тип х как Пользователь) тогда обработать)`
|
|
|
+Приведение с проверкой `(фикс х (= привести-из дата к Пользователь)` Падает, если не подходит
|
|
|
|
|
|
-Функциональный стиль
|
|
|
+### Функциональный стиль
|
|
|
|
|
|
Схемная валидация `(привести х к Схема.Пользователь)` для сложных форматов
|
|
|
|