略して QB 。
eval s||= %q(1;t= %w(s.gs ub!(/\e.* ?m/,"");[ [ 0x26e885c a844a879e27 a,519,48, 5 , 9],[20182686,600,48,5,1],[4366,611,48 , 5 ,15],[432803624050570,533,0]].map { | r,m,*d|s[m+=r%74,0],r="\e[#{d*";"}m", r /74while(r>0)};puts((z=32.chr)*5+"eval#{z *39}s||=\n#{z*5}%q(#{(1+n=s.to_i)%3}#{s[1 ..- 1]})\n\n"+z*9*n+"5YOV44GvUnVieWlzdO OBq +OB quOBo+OBpuOBj+OCjOOBo+OBpuOAgeOBjeOBo eOC k+OB qOOBi umhmOOBhOOBl+OBn+ OBr+O BmuO BoOO CiO+8 nw ogIOWun+mam+OBr ui ogOiq nuS7 leanm OOBjO OBqeOBhuOBhOOBh uOCgu OBruO Bi+OA geiqrO aYjuOCkuecgeeVpeO Bl+OBn +OBke OCjOOB qeOAgi/lg5XjgajlpZHntITjgZfjgabjgIFSdWJ 5aXN04 4Gr44G q44Gj44Gm5qyy44GX44GE44KT44GgL+WQm+OBn+ OBoeOB r+OBhOOB pOOCguOBneOBhu O B oOOBreOAggrkup Lmj5vmgK fjgafjg 4/jg57jgovjgaj m sbrjgb7jgaPjga blkIzjg Zjlj43lv 5zjgpLjgZnjgovjgILoqLPjgYzliIbjgY vjgonjga rjgYTjgo g=".gsub(/\e.*?m/,"").unpac k("m")[0 ].split( "/")[n]);exit)*"";; eval(t))
以下のように実行してください。未だに 1.8 を使ってる時代遅れ過ぎな人は -Ku を付けて。
$ ruby qb.rb $ ruby qb.rb | ruby $ ruby qb.rb | ruby | ruby $ ruby qb.rb | ruby | ruby | ruby