我有一系列问题,但我想从中抽出一个无问题的随机答案。因此,例如5个问题,如果所有问题都被提出,我将再次开始。我想将其放入方法(或类似方法)中
def askrandom
questions = ["A?", "B?" , "C?" , "D?"]
return #random question
end
输出应该是这样的
A? C? D? B? #all questions where asked once, so repeat
B? D? C? A? ...
它与@Stefan的解决方案非常接近,但思路略有不同。
class Questions
def initialize(array_of_questions)
@questions = array_of_questions
@nums ||= get_nums
end
def get_nums
([email protected]).to_a.shuffle
end
def get_num
@nums.pop or (@nums = get_nums).pop
end
def pick
@questions[get_num]
end
end
questions = Questions.new(["A", "B", "C", "D"])
10.times.map{ questions.pick }
#=> ["B", "D", "C", "A", "C", "A", "B", "D", "A", "B"]
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句