Создание кости на языке ruby

#ruby #direction #dice

#ruby #направление #кости

Вопрос:

Я кодирую кубик на ruby, в котором, когда я его бросаю, он будет либо на север, юг, восток, либо на запад.

с чем у меня проблемы, так это с тем, когда я бросаю его, как мне сказать, чтобы он вернул мне одно из этих направлений?

любая помощь была бы отличной.

Комментарии:

1. должен ли я просто поместить четыре направления в массив и заставить его вернуть мне случайный индекс в массиве?

2. или я должен повторно настроить случайное число от одного до 16 и присвоить 4 значения каждому направлению. например, если он возвращает 1-4, его восток возвращает 5-8, его запад возвращает 9-12, его север возвращает 13-16, его юг?

Ответ №1:

Использование Array.sample :

 [ 'north', 'south', 'east', 'west' ].sample
  

Комментарии:

1. Array#choice был удален в 1.9.

Ответ №2:

Это не намного проще, чем %w(north south east west).sample (кстати, метод 1.9). Еще одна вещь, которая работает в 1.8 и 1.9 %w(north south east west)[rand(4)] .

Комментарии:

1. Рад помочь. Если это был ответ, который вы искали, пожалуйста, примите и / или поддержите его.