我有一个生成随机输出(字符串)的函数。
我需要调用该函数,直到获得 3 个不同的输出(字符串)。
通过调用函数生成具有 3 个唯一字符串的数组的最优雅方法是什么,如果在指定的尝试次数内未生成输出,则该函数可以调用多少次?
这是我目前拥有的:
output = []
limit_calls = 5
limit_calls.times do |i|
str = generate_output_function
output.push str
break if output.uniq.size > 2
end
这可以美化/缩短到 1 行吗?我很确定红宝石.. :)
谢谢