У меня есть массив со списком чисел, например.Фильтровать массив по номеру?
[10, 30, 50, 54, 56, 95, 97, 99]
Если я предоставляю номер, например. 52, он должен вернуть следующее самое низкое число в массиве, в этом случае это будет 50.
Какой самый чистый способ сделать это?
Укажите, следует ли сначала отсортировать массив.
Другим способом, это довольно эффективно, хотя немного домашнее: 'n = [10, 54, 50, 30] .min_by {| e | (e <52)? 52-e: 61}; n = nil, если n == 61 # => 50'. –