クイックソートを40文字以内で実装@HQQ9+
qsort.hqq9+
+h+hqhqq
output
Hello, world! Hello, world! +h+hqhqq Hello, world! +h+hqhqq ++hhhqqq
概要
クイックソートを40文字以内で、と誰かさんに言われたのでHQQ9+を作った。
もうそのネタ飽きたとかいうな。
hqq9+.rb
acc = 0; src = $<.read src.scan(/qq|h|q|9|\+/) do|c| case c when "qq" puts src puts src.chars.sort.join("") when "h" puts "Hello, world!" when "q" puts src when "9" 99.downto(1) do|i| s = (i != 1) ? "s" : ""; print "#{i} bottle#{s} of beer on the wall.\n\n" if i < 99 print "#{i} bottle#{s} of beer on the wall, #{i} bottle#{s} of beer.\n" print "Take one down, pass it around,\n" end print "No more bottles of beer on the wall.\n\n" when "+" acc += 1 end end