Так у меня есть этот код:Ruby, значение bucketing, украсьте код
def self.age_to_bucket(age)
age = age.to_i
if age >= 0 && age <= 12
1
elsif age >= 13 && age <= 17
2
elsif age >= 18 && age <= 24
3
elsif age >= 25 && age <= 29
4
elsif age >= 30 && age <= 34
5
elsif age >= 35 && age <= 39
6
elsif age >= 40 && age <= 49
7
elsif age >= 50 && age <= 64
8
elsif age >= 65
9
else
0
end
end
Как я могу улучшить этот код без потери его читаемости?
Я знаю, что могу использовать #in?
с диапазонами, например:
if age.in? (0..12)
но #in?
в ActiveSupport, и я предпочел бы использовать более самостоятельный путь.
Вам это нравится или это слишком абстракция? '[0, 12, 13, 17, ...]. Find_interval (15) # => 2'. Его довольно легко реализовать (немного сложнее сделать это эффективно). – tokland
Я имею в виду: '[0, 13, 18, ...]. Find_interval (15)' – tokland
Я бы ничего не реализовал сам, потому что мне нужен этот код только в одном месте. –