Новости | FAQ | Авторы | Документация | В действии | Библиотека |
Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
andylars 10.12.2014 01:31 / 10.12.2014 02:01
Этот пример ниже вообще удручает:@main[][loc_var] $loc_var[Alice] $glob_var[Bob] $glob_obj[^AClass::create[]] 0=$loc_var.CLASS_NAME ^def[loc_var] ^rem{ #Результат: 0=string 1=string 2=void 3=void 4=void 5=void } 0=$glob_var.CLASS_NAME ^def[glob_var] ^rem{ #Результат: 0=string 1=string 2=string 3=string 4=string 5=string } 0=$glob_obj.CLASS_NAME ^def[glob_obj] ^rem{ #Результат: 0=AClass 1=void 2=void 3=void 4=AClass 5=AClass } 0=$glob_obj.Field.CLASS_NAME ^def[glob_obj.Field] ^rem{ #Результат: 0=string 1=void 2=void 3=void 4=string 5=string } 0=$glob_obj.Proper.CLASS_NAME ^def[glob_obj.Proper] ^rem{ #Результат: 0=string 1=void 2=void 3=void 4=string 5=string } #---- @def[objn] 1=$caller.[$objn].CLASS_NAME 2=$MAIN:[$objn].CLASS_NAME 3=$[$objn].CLASS_NAME 4=^process{^$${objn}.CLASS_NAME} 5=^process[$caller.self]{^$${objn}.CLASS_NAME} ^rem{ <-- почему для $loc_var.CLASS_NAME тут не работает? } @CLASS AClass @create[] $Field[Chloe] @GET_Proper[] $result[Propvalue]Как обойти и унифицированно правильно получить CLASS_NAME как у объекта "контекста вызова",
$loc_var.CLASS_NAME = ^def[loc_var] $glob_var.CLASS_NAME = ^def[glob_var] $glob_obj.CLASS_NAME = ^def[glob_obj] $glob_obj.Field.CLASS_NAME = ^def[glob_obj] $glob_obj.Proper.CLASS_NAME = ^def[glob_obj] $blah_var.CLASS_NAME = ^def[blah_var] # одинаково выдавали string = string srring = string AClass = AClass string = string string = string void = void т.е. просто - то же самое но из def'a