2016-12-08 2 views
0

Я хочу сгенерировать 5 кнопок с разными значениями на основе одного целого. Например у меня 30, я хочу, чтобы создать кнопки с 10 20 30 40 50Генерируемый целочисленный массив на основе числа в рельсах

value = 30 
int1 = value - 20 
int2 = value - 10 
int3 = value 
int4 = value + 10 
int5 = value + 20 

buttoncode = "" 
%w{int1 int2 int3 int4 int5}.each do |minutes| 
    buttoncode += 'buttoncode' 
end 

я могу сделать это в очень плохом состоянии, но это может быть сделано умнее решение, которое я думаю. Можно ли сделать что-то подобное?

%w{sum(max-20) sum(max-10) max sum(max+10) sum(max+20)}.each do |minutes| 

end 

ответ

1

См Ruby: How to iterate over a range, but in set increments?

Так что в вашем случае это будет:

(min..max).step(10) do |n| 
    n += 'buttoncode' 
end 

Кстати, это на самом деле не Rails специфична, но Руби специфичны. Rails представляет собой фреймворк web, который обрабатывает взаимодействие между браузером и веб-сервером, который построен поверх Ruby.

Если вы чувствуете, что не справляетесь со скоростью работы с Ruby, попробуйте https://learnrubythehardway.org/book/ и выполните некоторые упражнения на HackerRank или ProjectEuler в Ruby.

+0

Спасибо, я все еще новичок :) Я попробую. –

+1

@RickySpanish np, ProjectEuler определенно помог мне изучить Ruby, поэтому я бы рекомендовал его всем, кто хотел бы практиковать основы нового языка программирования. – Mistlight