Публикации по теме 'enumerable'
Что я думаю о перечислимом Ruby
Вызовите юристов; это контракт.
Я хотел бы продемонстрировать на высоком уровне, как Enumerable модуль Ruby требует #each метода от классов, которые его включают.
Я слышал, как Армандо Фокс, профессор EECS из Калифорнийского университета в Беркли, описал Enumerable как «контракт» между классом, который включает его, и самим модулем. То есть Enumerable выполняет следующие действия с классами, которые его включают:
«Если вы предоставите мне способ итерации или перечисления..
Лямбды и перечисления в Ruby
Недавно я влюбился в простой шаблон функции высшего порядка в JavaScript. Это выглядит примерно так:
Учитывая массив,
// .js
const oneToTen = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]
это:
oneToTen.map(number => number * 3)
//=>[ 3, 6, 9, 12, 15, 18, 21, 24, 27, 30 ]
то же самое, что и это:
const timesThree = number => number * 3
oneToTen.map(timesThree)
//=>[ 3, 6, 9, 12, 15, 18, 21, 24, 27, 30 ]
Этот пример корпоративного уровня не является сверхсложным, но вы можете..
Как визуализация помогла мне с отношениями «многие через» в Ruby
Мои первые три недели в качестве студента-программиста в школе Flatiron подходят к концу. Я хотел бы кратко оглянуться на свой опыт изучения языка Ruby во время моего пребывания здесь, рассказать о некоторых проблемах, с которыми я столкнулся, и о том, как я визуализировал эти проблемы, чтобы ознакомиться с ними.
Ключевой концепцией объектно-ориентированного программирования являются отношения между объектами. Как новичок, одной из самых запутанных вещей, которые мне приходилось изучать,..
Перечислимый модуль в Ruby
Богатый источник методов, предоставляемых Ruby, которые доступны для использования классами.
Предпосылка
Эту тему будет легче понять, если вы обладаете следующими знаниями:
Block, Proc и Lambda в Ruby Что это такое, чем они отличаются и как их использовать. juzer-shakir.medium.com
Модули в Ruby Тот, который не может быть создан как класс!
Оглавление
↦ Определение
↦ Вызов..
Класс перечислителя в Ruby
Богатый источник методов, предоставляемых Ruby, доступных для использования объектами перечислителя.
Предпосылка
Эту тему будет легче понять, если вы обладаете следующими знаниями:
Перечислимый модуль в Ruby Богатый источник методов, предоставляемых Ruby, доступных для использования классами. juzer-shakir.medium.com
Оглавление
↦ Определение ↪ Внутренняя итерация ↪ Внешняя итерация
↦ Экземпляр класса Enumerator
↦..
Вопросы по теме 'enumerable'
Как лучше всего изменить список в цикле foreach?
Новой функцией C # / .NET 4.0 является то, что вы можете изменить свой enumerable в foreach , не получая исключения. См. Запись в блоге Пола Джексона Интересный побочный эффект параллелизма: удаление элементов из коллекции при перечислении для...
134623 просмотров
schedule
25.10.2022
Как найти минимум / максимум с Ruby
Я хочу использовать min(5,10) или Math.max(4,7) . Есть ли в Ruby функции для этого?
278262 просмотров
schedule
01.12.2022
Можно ли получить доступ к индексу в хэше в каждом цикле?
Я, вероятно, упускаю что-то очевидное, но есть ли способ получить доступ к индексу/счетчику итераций внутри хеша в каждом цикле?
hash = {'three' => 'one', 'four' => 'two', 'one' => 'three'}
hash.each { |key, value|
# any way to know...
68500 просмотров
schedule
16.09.2022
Понимание Ruby Enumerable#map (с более сложными блоками)
Допустим, у меня есть функция
def odd_or_even n
if n%2 == 0
return :even
else
return :odd
end
end
И у меня был простой перечисляемый массив
simple = [1,2,3,4,5]
И я прогнал его через карту с помощью моей функции,...
4009 просмотров
schedule
01.11.2023
Перечислитель: метод сбора с двумя параметрами
У меня есть этот код:
users = ["foo", "bar"]
users.collect { |item, value = []| value << {:name => item} }.flatten
Это работает как ветер в ruby-1.9.2:
=> [{:name=>"foo"}, {:name=>"bar"}]
Но это не работает в...
690 просмотров
schedule
13.07.2023
Возврат значения блока по перечислению, если оно не равно нулю
Кажется, у меня есть немного странный вариант использования Ruby Enumerable. Я пытаюсь сделать что-то вроде следующего:
result = my_strategies.some_method do |strategy|
strategy.get_result
end
Метод some_method — это просто...
329 просмотров
schedule
06.02.2023
Требования для включения Enumerable
Я пытался разработать свою структуру данных Array только для чтения, и мне очень нравится идея предоставления параметров обхода с помощью класса Enumerable, но я не могу найти требования к нему. В некоторых примерах, которые я смотрел, реализация C...
420 просмотров
schedule
14.10.2022
Что такое перечисляемый аргумент в Object.create?
В каком использовании Object.create вы хотите установить enumerable в true ?
2108 просмотров
schedule
02.10.2023
Какой самый быстрый способ в Ruby получить первый перечисляемый элемент, для которого блок возвращает значение true?
Какой самый быстрый способ в Ruby получить первый перечисляемый элемент, для которого блок возвращает значение true?
Например:
arr = [12, 88, 107, 500]
arr.select {|num| num > 100 }.first # => 107
Я хотел бы сделать это, не...
16684 просмотров
schedule
14.09.2023
Почему метод Enumerable.OrderBy‹TSource, TKey› работает быстрее, если не использует Comparer
Я написал код для тестирования скорости методов сортировки. Он создает коллекцию и сортирует ее, используя различные методы.
public void TestMethod1()
{
var unsortedCollection = GenerateCollection();
var toSort =...
662 просмотров
schedule
01.07.2023
Как вы сортируете массив по алфавиту, используя sort_by в ruby?
У меня есть массив членства. В каждом членстве есть группа. Мне нужно отсортировать этот массив членства по имени группы. Я пробовал кучу разных способов, и последний способ таков:
@memberships.sort_by! { |m| m.group.name }
Однако это не...
49311 просмотров
schedule
26.01.2023
Как активировать другой Enumerator внутри первого
У меня есть два отдельных действия, которые являются перечислителями.
Один можно запустить независимо, другой зависит от первого, который будет запущен позже.
Я думал, что я был бы очень умным, если бы сделал это:
public...
546 просмотров
schedule
10.07.2022
Связи Rails Active Record с Enumerable
В некоторых случаях, когда я получаю отношение ActiveRecord, я испытываю странное поведение с .each в ActiveRecord::Relation
Кажется, когда ActiveRecord::Relation делегирует :each в :to => :to_a ( источник )
@tasks =...
2543 просмотров
schedule
03.07.2022
Перечислители в Ruby
У меня проблемы с пониманием Enumerators в Ruby.
Пожалуйста, поправьте меня. Если я ошибаюсь, метод o.enum_for(:arg) должен преобразовывать объект в Enumerator, и каждая итерация по объекту o должна вызывать метод arg ? Что меня смущает, так...
438 просмотров
schedule
27.11.2022
Как использовать метод Ruby Enumerable .map, чтобы сделать что-то похожее на карту в C++
map(-30, -89.75, 89.75, 0, 360)
Я ищу что-то вроде этого, где:
-30 - это входное значение.
От -89,75 до 89,75 — это диапазон возможных входных значений.
0–360 — это последний диапазон, на который нужно сопоставить
Мне сказали, что...
189 просмотров
schedule
18.12.2022
Enumerable изменяет мое поведение `to_json`
У меня есть приложение rails и класс, который я написал как его часть (не ActiveRecord или что-то в этом роде). Данные хранятся в простых переменных экземпляра (строка, целые числа, массивы...)
Когда я вызываю to_json для его экземпляра, я...
241 просмотров
schedule
27.05.2023
Каков наилучший способ вернуть Enumerator::Lazy, если ваш класс не определяет #each?
Enumerable#lazy полагается на ваше перечисление, предоставляющее метод #each . Если в вашем перечислимом нет метода #each , вы не можете использовать #lazy . Теперь Kernel#enum_for и #to_enum позволяют указать метод перечисления, отличный...
1047 просмотров
schedule
20.05.2023
ruby enumerables: есть ли обнаружение результатов оценки блока?
Я ищу что-то похожее на #detect в перечислениях, но не совсем. Вот что делает перечисление:
[1, 2, 3].detect {|i| i > 1 } #=> 2
он возвращает первый экземпляр массива, который соответствует условию. Теперь моя цель - вернуть значение...
124 просмотров
schedule
09.10.2022
Пропуск значения на enumerable#map, если блок кода оценивается как false
Есть ли способ реорганизовать этот метод с помощью карты? (это намерение этого метода состоит в том, чтобы вернуть массив простых чисел между 1 и максимальным параметром)
def primes(max)
prime_arr = []
(1..max).each {|i| prime_arr << i...
86 просмотров
schedule
12.06.2022
Зачем Enumerable#detect нужен Proc/лямбда?
Enumerable#detect возвращает первое значение массива, где блок оценивается как true . У него есть необязательный аргумент, который должен отвечать на call и вызывается в этом случае, возвращая его значение. Так,
(1..10).detect(lambda{...
1663 просмотров
schedule
22.08.2022