Класс: 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. Сторонним разработчикам следует по возможности избегать использования этого метода, так как он может быть удалён или изменён без предупреждения.
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. Сторонним разработчикам следует по возможности избегать использования этого метода, так как он может быть удалён или изменён без предупреждения.
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. Сторонним разработчикам следует по возможности избегать использования этого метода, так как он может быть удалён или изменён без предупреждения.
Этот метод возвращает неопределённое значение.
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. Сторонним разработчикам следует по возможности избегать использования этого метода, так как он может быть удалён или изменён без предупреждения.
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