| Новости | FAQ | Авторы | Документация | В действии | Библиотека |
| Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
G_Z 07.12.2015 15:37
Имеется хитрый код:@main[]
$t[^test::create[]]
GET_DEFAULT и GET_: $t.test<br/>
вызовы:<br/>
GET_DEFAULT test<br/>
GET_t<br/>
<hr/>
GET_: $t.t<br/>
вызовы:<br/>
GET_t<br/>
GET_DEFAULT a
<hr/>
ожидается:<br/>
b=b<br/>
вызовы:<br/>
GET_DEFAULT test<br/>
GET_t<br/>
GET_DEFAULT a
@CLASS
test
@create[data]
$self._data[
$.a[b]
]
$self._fields[
$.test[t]
]
@GET_t[]
# $self.a возвращает пустой результат, при том, что прямое обращение к полю — $self._data.a — ожидаемый
$result[$self.a=$self._data.a]
@GET_DEFAULT[name]
^if(^self._data.contains[$name]){
# обращение к полю в _data
$result[$self._data.$name]
}{
# обращение к полю в _fields через геттер
$result[$self.[$self._fields.$name]]
}Почему-то из @GET_t[] не происходит обращения к @GET_DEFAULT[a].