Spec-Zone.ru › Homebrew

Класс: Array Закрытый

Наследует:
Object
  • Object
  • Array
показать всё
Определён в:
extend/array.rb,
extend/blank/array.rb,
extend/object/deep_dup/array.rb,
extend/array.rbi

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

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

Homebrew::CLI::NamedArgs

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

  • #blank? ⇒ Boolean закрытый

    Массив является пустым, если он не содержит элементов:

  • #deep_dup ⇒ T.self_type закрытый

    Возвращает глубокую копию массива.

  • #fifth ⇒ Elem? закрытый

    Эквивалентно self[4].

  • #fourth ⇒ Elem? закрытый

    Эквивалентно self[3].

  • #present? ⇒ Boolean закрытый
  • #second ⇒ Elem? закрытый

    Эквивалентно self[1].

  • #third ⇒ Elem? закрытый

    Эквивалентно self[2].

  • #to_sentence(words_connector: ", ", two_words_connector: " and ", last_word_connector: " and ") ⇒ String закрытый

    Преобразует массив в предложение с элементами, разделёнными запятыми, где последний элемент присоединяется словом-связкой.

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

#blank? ⇒ Boolean

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

Массив является пустым, если он не содержит элементов:

[].blank?      # => true
[1,2,3].blank? # => false

Возвращает:

  • (Boolean)


12
# File 'extend/blank/array.rb', line 12

def blank? = empty?

#deep_dup ⇒ T.self_type

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

Возвращает глубокую копию массива.

array = [1, [2, 3]]
dup   = array.deep_dup
dup[1][2] = 4

array[1][2] # => nil
dup[1][2]   # => 4

Возвращает:

  • (T.self_type)


14
15
16
# File 'extend/object/deep_dup/array.rb', line 14

def deep_dup
  T.unsafe(self).map(&:deep_dup)
end

#fifth ⇒ Elem?

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

Эквивалентно self[4].

Пример

%w(abcde).fifth # => "e"

Возвращает:

  • (Elem, nil)


39
# File 'extend/array.rb', line 39

def fifth = self[4]

#fourth ⇒ Elem?

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

Эквивалентно self[3].

Пример

%w(abcde).fourth # => "d"

Возвращает:

  • (Elem, nil)


30
# File 'extend/array.rb', line 30

def fourth = self[3]

#present? ⇒ Boolean

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

Возвращает:

  • (Boolean)


15
# File 'extend/blank/array.rb', line 15

def present? = !empty? # :nodoc:

#second ⇒ Elem?

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

Эквивалентно self[1].

Пример

%w(abcde).second # => "b"

Возвращает:

  • (Elem, nil)


12
# File 'extend/array.rb', line 12

def second = self[1]

#third ⇒ Elem?

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

Эквивалентно self[2].

Пример

%w(abcde).third # => "c"

Возвращает:

  • (Elem, nil)


21
# File 'extend/array.rb', line 21

def third = self[2]

#to_sentence(words_connector: ", ", two_words_connector: " and ", last_word_connector: " and ") ⇒ String

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

Преобразует массив в предложение с элементами, разделёнными запятыми, где последний элемент присоединяется словом-связкой.

Примеры

[].to_sentence                      # => ""
['one'].to_sentence                 # => "one"
['one', 'two'].to_sentence          # => "one and two"
['one', 'two', 'three'].to_sentence # => "one, two and three"
['one', 'two'].to_sentence(two_words_connector: '-')
# => "one-two"
['one', 'two', 'three'].to_sentence(words_connector: ' or ', last_word_connector: ' or at least ')
# => "one or two or at least three"

Авторское право (c) David Heinemeier Hansson

Настоящим бесплатно предоставляется разрешение любому лицу, получившему копию этого программного обеспечения и сопутствующих файлов документации («Программное обеспечение»), использовать Программное обеспечение без ограничений, включая, помимо прочего, права на использование, копирование, изменение, объединение, публикацию, распространение, сублицензирование и/или продажу копий Программного обеспечения, а также разрешать лицам, которым предоставляется Программное обеспечение, делать это при соблюдении следующих условий:

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

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, ПОМИМО ПРОЧЕГО, ГАРАНТИИ ТОВАРНОЙ ПРИГОДНОСТИ, СООТВЕТСТВИЯ КОНКРЕТНОЙ ЦЕЛИ И НЕНАРУШЕНИЯ ПРАВ. НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ АВТОРЫ ИЛИ ОБЛАДАТЕЛИ АВТОРСКИХ ПРАВ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ПО КАКИМ-ЛИБО ИСКАМ, ЗА УБЫТКИ ИЛИ ИНУЮ ОТВЕТСТВЕННОСТЬ, БУДЬ ТО В РЕЗУЛЬТАТЕ ДЕЙСТВИЯ ДОГОВОРА, ДЕЛИКТА ИЛИ ИНЫМ ОБРАЗОМ, ВОЗНИКШУЮ ИЗ ИСПОЛЬЗОВАНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ИЛИ В СВЯЗИ С НИМ, А ТАКЖЕ С ИНЫМИ ДЕЙСТВИЯМИ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ.

Параметры:

  • words_connector (String) (по умолчанию: ", ") —

    Знак или слово, используемые для соединения всех элементов, кроме последнего, в массивах из трёх и более элементов (по умолчанию: ", ").

  • two_words_connector (String) (по умолчанию: " and ") —

    Знак или слово, используемые для соединения элементов в массивах из двух элементов (по умолчанию: " and ").

  • last_word_connector (String) (по умолчанию: " and ") —

    Знак или слово, используемые для соединения последнего элемента в массивах из трёх и более элементов (по умолчанию: " and ").

Возвращает:

  • (String)

См. также:

  • Обезьянье расширение ActiveSupport Array#to_sentence


93
94
95
96
97
98
99
100
101
102
103
104
105
# File 'extend/array.rb', line 93

def to_sentence(words_connector: ", ", two_words_connector: " and ", last_word_connector: " and ")
  case length
  when 0
    +""
  when 1
    # This is not typesafe, if the array contains a BasicObject
    +T.unsafe(self[0]).to_s
  when 2
    "#{self[0]}#{two_words_connector}#{self[1]}"
  else
    "#{T.must(self[0...-1]).join(words_connector)}#{last_word_connector}#{self[-1]}"
  end
end

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

Spec-Zone.ru

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