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

rockliu · May 08, 2013 · Last by sevk replied at May 09, 2013 · 4222 hits
Topic has been selected as the excellent topic by the admin.

今天在 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]
You need to Sign in before reply, if you don't have an account, please Sign up first.