(0...4).map{65.+(rand(25)).chr}.join 65.+(rand(25)).char 这个地方不是很明白? :D
相当于
(65 + rand(25) ).chr
65 = 'A‘ 90 = ’Z‘
相当于 (65+rand(25)).chr
执行顺序是
num = 65.+(random(25)) num.chr
65.+ 表示后面的 + 是 65 的方法调用吧,解释器会解释后面的参数
65.+
+
65.+ 3 #=> 68
我是猜的
能告诉我这么要这么写么?
个人觉得很丑陋
这是个很丑陋的写法:
65.+(rand(25)).chr
给楼主一个同样效果,但更漂亮的写法:
('A'..'Z').to_a.sample
#5 楼 @kgen 可是这样多制造了 25 个 char 对象
#6 楼 @nouse 在这个男女比例失调的年代,多几个对象多好呀
#7 楼 @kgen :plus1:
#5 楼 @kgen
学习了