Класс: Array Закрытый
- Наследует:
- Object
- Object
- Array
- Определён в:
- extend/array.rb,
extend/blank/array.rb,
extend/object/deep_dup/array.rb,
extend/array.rbi
Этот класс является частью закрытого API. Этот класс можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам следует по возможности избегать использования этого класса, поскольку он может быть удалён или изменён без предупреждения.
Прямые известные подклассы
Краткое описание методов экземпляра свернуть
- #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
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 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"
39 | # File 'extend/array.rb', line 39 def fifth = self[4] |
#fourth ⇒ Elem?
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам следует по возможности избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
Эквивалентно self[3].
Пример
%w(abcde).fourth # => "d"
30 | # File 'extend/array.rb', line 30 def fourth = self[3] |
#present? ⇒ Boolean
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам следует по возможности избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
15 | # File 'extend/blank/array.rb', line 15 def present? = !empty? # :nodoc: |
#second ⇒ Elem?
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам следует по возможности избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
Эквивалентно self[1].
Пример
%w(abcde).second # => "b"
12 | # File 'extend/array.rb', line 12 def second = self[1] |
#third ⇒ Elem?
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам следует по возможности избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
Эквивалентно self[2].
Пример
%w(abcde).third # => "c"
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
Настоящим бесплатно предоставляется разрешение любому лицу, получившему копию этого программного обеспечения и сопутствующих файлов документации («Программное обеспечение»), использовать Программное обеспечение без ограничений, включая, помимо прочего, права на использование, копирование, изменение, объединение, публикацию, распространение, сублицензирование и/или продажу копий Программного обеспечения, а также разрешать лицам, которым предоставляется Программное обеспечение, делать это при соблюдении следующих условий:
Указанное выше уведомление об авторских правах и это уведомление о разрешении должны включаться во все копии или существенные части Программного обеспечения.
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, ПОМИМО ПРОЧЕГО, ГАРАНТИИ ТОВАРНОЙ ПРИГОДНОСТИ, СООТВЕТСТВИЯ КОНКРЕТНОЙ ЦЕЛИ И НЕНАРУШЕНИЯ ПРАВ. НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ АВТОРЫ ИЛИ ОБЛАДАТЕЛИ АВТОРСКИХ ПРАВ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ПО КАКИМ-ЛИБО ИСКАМ, ЗА УБЫТКИ ИЛИ ИНУЮ ОТВЕТСТВЕННОСТЬ, БУДЬ ТО В РЕЗУЛЬТАТЕ ДЕЙСТВИЯ ДОГОВОРА, ДЕЛИКТА ИЛИ ИНЫМ ОБРАЗОМ, ВОЗНИКШУЮ ИЗ ИСПОЛЬЗОВАНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ИЛИ В СВЯЗИ С НИМ, А ТАКЖЕ С ИНЫМИ ДЕЙСТВИЯМИ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ.
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