Rad*_*ika 14 arrays shuffle ruby-on-rails range
我想将rails中的两个不同范围组合成一个数组.有没有相同的简短方法?
我正在编写代码来生成随机字母数字字符串.
现在我有:
('a'..'z').to_a.shuffle.first(16).join
Run Code Online (Sandbox Code Playgroud)
我也尝试过这样的事情:
('a'..'z').to_a.push('0'..'9').shuffle.first(16).join
Run Code Online (Sandbox Code Playgroud)
这显然不起作用.我知道我可能会忽略一些简单的方法来做到这一点,但我无法找到一个,任何帮助将不胜感激.提前致谢:)
kmi*_*ael 33
我有一个更好的方法:使用splat运算符!
[*'0'..'9', *'a'..'z', *'A'..'Z'].sample(16).join
Run Code Online (Sandbox Code Playgroud)
更优雅的方式:
['a'..'z', '0'..'9'].flat_map(&:to_a).sample(16).join
Run Code Online (Sandbox Code Playgroud)