Spec-Zone.ru › Perl 5.28

Внутренности

СОДЕРЖАНИЕ

  • ИМЯ
  • СИНТЕКС
  • ОПИСАНИЕ
    • ФУНКЦИИ
  • АВТОР
  • СМОТРИТЕ ТАКЖЕ

ИМЯ

Внутренности — Зарезервированное специальное пространство имен для внутренних функций.

СИНТЕКС

$is_ro= Internals::SvREADONLY($x)
$refcnt= Internals::SvREFCNT($x)
hv_clear_placeholders(%hash);

ОПИСАНИЕ

Пространство имен Внутренности используется основной командой разработчиков Perl для экспонирования определенных внутренних процедур низкого уровня для тестирования и других целей.

По теории эти процедуры не предназначались и не предназначены для использования вне ядра Perl и могут быть изменены или удалены в любое время.

На практике люди стали полагаться на эти процедуры на протяжении многих лет, несмотря на историческую недокументированность, поэтому мы обеспечим определенный уровень совместимости вперед некоторое время. Тем не менее, вы можете предположить, что любая задокументированная здесь процедура экспериментальная или устаревшая, и вам следует найти альтернативные решения для ее использования.

ФУНКЦИИ

SvREFCNT(THING [, $value])

Исторически Perl был языком с подсчетом ссылок. Это означает, что каждая переменная отслеживает количество ссылок на нее, и когда на переменную больше нет ссылок, она автоматически освобождается. По теории код Perl не должен заботиться об этом, и в будущей версии Perl может быть изменена на другую стратегию, хотя на практике это маловероятно.

Эта функция позволяет нарушить абстракцию переменных и получить или установить счетчик ссылок переменной, и, как правило, полезна только в коде, который тестирует поведение счетчика ссылок.

*ЗАМЕЧАНИЕ* Вам настоятельно не рекомендуется использовать эту функцию в коде, не связанном с тестированием, и особенно не рекомендуется использовать форму установки этой функции. Результаты такого использования могут привести к ошибкам сегментации или другому неопределенному поведению.

SvREADONLY(THING, [, $value])

Установить или получить значение того, является ли переменная только для чтения или нет. Точное значение флага только для чтения зависит от типа затронутой переменной и версии Perl, используемой.

Вам настоятельно не рекомендуется использовать эту функцию напрямую. Она используется различными модулями ядра, такими как Hash::Util, и прагмой constant, чтобы реализовать поведение более высокого уровня, которое следует использовать вместо этого.

См. реализацию ядра для точного значения флага только для чтения для каждого типа внутренней переменной.

hv_clear_placeholders(%hash)

Очистить любые заглушки из заблокированного хеша. Не следует использовать напрямую. Следует использовать оберточные функции, предоставляемые модулем Hash::Util. С версии 5.25 также доступен как Hash::Util::_clear_placeholders(%hash)

АВТОР

Команда разработчиков Perl ядра.

СМОТРИТЕ ТАКЖЕ

perlguts Hash::Util constant universal.c

© 1993–2020 Larry Wall and others
Licensed under the GNU General Public License version 1 or later, or the Artistic License.
The Perl logo is a trademark of the Perl Foundation.
https://perldoc.perl.org/5.28.3/Internals

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API