Ruby 用 * 号在数组内展开 Range 对象

rockliu · 2013年05月08日 · 最后由 sevk 回复于 2013年05月09日 · 4222 次阅读
本帖已被管理员设置为精华贴

今天在 Qiita 上面看到一段模仿黑客帝国刷屏的小程序 代码如下

def gori_yes(size=1)
  [*0..9,*'a'..'z',*'A'..'Z'].sample(size).join
end

loop do
 print gori_yes + " " + gori_yes + " "
 sleep(0.001)
end

发现这种写法挺好的,在数组中 Range 对象前面加个*号展开这个对象

[*0..9]  # => [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
需要 登录 后方可回复, 如果你还没有账号请 注册新账号