Мне нужно решить следующее упражнение:
"Реализовать первый метод size_splitter, который принимает два параметра: массив и целое число (размер). Предположим, что массив содержит только слова, напримерСтроки, и что произвольное правило состоит в том, чтобы сформировать две группы: первую со словами заданного размера (второй параметр метода), а другую группу со всеми другими словами.
Метод size_splitter долженвернуть массив из двух массивов - двух групп, определенных выше, - с содержимым, отсортированным в алфавитном порядке. "
Мое решение было таким:
def size_splitter(array, size)
words1 = []
words2 = []
filtered_array = [words1, words2]
array.map { |word| words1 << word if word.length == size }
array.map { |word| words2 << word if word.length != size }
return filtered_array.sort
end
Решение упражнения:
def size_splitter(array, size)
first_subarray = array.select { |word| word.length == size }.sort
second_subarray = array.reject { |word| word.length == size }.sort
return [first_subarray, second_subarray]
# OR
# array.sort.partition { |word| word.length == size }
end
Но я не понимаю, почему мое решение не работает, так как оно работает на pry / irb :( Кто-нибудь может помочь?