Я знаю, что могу генерировать случайные поплавки с rand (max). Я попытался создать float в диапазоне, это не должно быть сложно. Но, например, rand (1.4512) возвращает 0, поэтому rand не вычисляется с помощью float. Теперь я попробовал небольшой трюк, преобразовывая предмет в целое число и после рандомизации подходящего числа в моем желаемом диапазоне, вычисляя его обратно в float.., который не работает.
Мой вопрос - как это сделать лучше. Если нет лучшего способа, почему этот не работает? (Может быть, мне слишком поздно, я должен был спать 2 часа назад..). Все дело в том, чтобы быть методом вычисления поля позиции для записей базы данных, чтобы пользователи могли их заказывать вручную. Я никогда раньше не делал этого, может быть, кто-то подскажет мне лучшее решение.
Здесь код:
def calculate_position(@elements, index)
min = @elements[index].position
if @elements[index + 1].nil?
pos = min + 1
else
pos = min + (rand(@elements[index + 1].position * 10000000000) / 10000000000)
end
return pos
end
Спасибо!