Spec-Zone.ru › Homebrew

Класс: LazyObject Приватный

Наследует:
Delegator
  • Object
  • Delegator
  • LazyObject
показать всё
Определён в:
lazy_object.rb

Обзор

Этот класс является частью приватного API. Этот класс можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам следует по возможности избегать использования этого класса, так как он может быть удалён или изменён без предупреждения.

Объект, который лениво вычисляет свой внутренний блок только при вызове метода.

Краткое описание методов экземпляра свернуть

  • #__getobj__(&_blk) ⇒ T.untyped приватный
  • #__setobj__(callable) ⇒ void приватный
  • #class ⇒ T::Class[T.anything] приватный
  • #initialize(&callable) ⇒ void конструктор приватный

Подробное описание конструкторов

#initialize(&callable) ⇒ void

Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам следует по возможности избегать использования этого метода, так как он может быть удалён или изменён без предупреждения.

Параметры:

  • callable (Proc, nil)


9
10
11
12
13
14
# File 'lazy_object.rb', line 9

def initialize(&callable)
  @__callable__ = T.let(nil, T.nilable(Proc))
  @getobj_set = T.let(false, T::Boolean)
  @__getobj__ = T.let(nil, T.untyped)
  super(callable)
end

Подробное описание методов экземпляра

#__getobj__(&_blk) ⇒ T.untyped

Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам следует по возможности избегать использования этого метода, так как он может быть удалён или изменён без предупреждения.

Параметры:

  • _blk (T.untyped)

Возвращает:

  • (T.untyped)


17
18
19
20
21
22
23
# File 'lazy_object.rb', line 17

def __getobj__(&_blk)
  return @__getobj__ if @getobj_set

  @__getobj__ = T.must(@__callable__).call
  @getobj_set = true
  @__getobj__
end

#__setobj__(callable) ⇒ void

Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам следует по возможности избегать использования этого метода, так как он может быть удалён или изменён без предупреждения.

Этот метод возвращает неопределённое значение.

Параметры:

  • callable (Proc, nil)


26
27
28
29
30
# File 'lazy_object.rb', line 26

def __setobj__(callable)
  @__callable__ = callable
  @getobj_set = false
  @__getobj__ = nil
end

#class ⇒ T::Class[T.anything]

Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам следует по возможности избегать использования этого метода, так как он может быть удалён или изменён без предупреждения.

Возвращает:

  • (T::Class[T.anything])


44
# File 'lazy_object.rb', line 44

def class = __getobj__.class

© 2009–present Homebrew contributors
Licensed under the BSD 2-Clause License.
https://docs.brew.sh/rubydoc/LazyObject.html

Spec-Zone.ru

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