2011/2/13 Ivan Petrov <[email protected]>:
>
>> > то есть теперь чтобы вычислить в  XS что это ссылка на ссылку надо
>> > пройти по
>> > всем 15 вариантам SVt_*, я правильно понимаю?
>> Нет, не правильно.
>> Посмотрите как макрос SvROK определен ;-)
>>
> эмм а какая разница как он определен? в документации написано "чтобы
> определить является ли данный скаляр ссылкой, используйте SvROK, а чтобы
> определить на какой тип ссылается данная ссылка используйте
> SvTYPE(SvRV(SV*))"
>
> поскольку "ссылку на ссылку" приравняли к "ссылке на IV", то чтобы отделить
> "ссылку на скаляр с интом" от "ссылки на ссылку на массив" теперь надо
> как-то извращаться. причем непонятно как это сделать обратно совместимо
допустим у нас есть SV *sv; // $val = \\5;
тогда:
SvROK(sv) == true
SvIOK(sv) == false
SvROK(SvRV(sv)) == true
SvIOK(SvRV(sv)) == false
SvIOK(SvRV(SvRV(sv))) == true
SvROK(SvRV(SvRV(sv))) == false
Ни раньше, ни сейчас извращаться не надо.

>
> --
> Moscow.pm mailing list
> [email protected] | http://moscow.pm.org
>
>



-- 
Vladimir Timofeev <[email protected]>
--
Moscow.pm mailing list
[email protected] | http://moscow.pm.org

Ответить