我是工厂女孩的新手,我有一个类foo的对象,它有一个属性栏,这是一个单字母的字符串。到目前为止,我已经使用了以下工厂
sequence(:bar, 'A') { |n| n }
并且直到我添加了足够的测试以使字符串由2个字母组成,即在' Z'之后。下一个生成的字符串是' AA'。所以我的问题是如何从A' A'再次?提前谢谢。
答案 0 :(得分:2)
您可以通过以下方式使用Enumerable#cycle
:
sequence(:bar, ('A'..'Z').cycle)
答案 1 :(得分:1)
这样的事,也许是
sequence(:bar, 0) do |n|
letters = ('A'..'Z').to_a
letters[n % letters.length]
end