今天发现ruby有趣的东西--一行代码让终端下雪
1
2
3
4
5
6
7
#先运行irb 或 pry
C=`stty size`.split[1].to_i;S=[0x2743].pack("U*");a={};puts "\033[2J";loop{a[rand(C)]=0;a.each{|x,o|;a[x]+=1;print "\033[#{o};#{x}H \033[#{a[x]};#{x}H#{S} \033[0;0H"};$stdout.flush;sleep 0.03}
#或者直接 ruby -e :
ruby -e ' R,C=`stty size`.split.map(&:to_i);S=[0x2743].pack("U*");a={};puts "\033[2J";loop{a[rand(C)]||=0;a.each{|x,o|;a[x]=(a[x]+1)%(R+1);print "\033[#{o};#{x}H \033[#{a[x]};#{x}H#{S} \033[0;0H"};$stdout.flush;sleep 0.03} '