parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

@GET_…[] из @GET_DEFAULT[…] — ошибка?

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].
Я что-то делаю не так?